mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 09:20:13 -04:00
comedi: quatech_daqp_cs: Fix sanity check in interrupt handler
The driver requests an interrupt handler for the device before it is fully set up. For safety, the interrupt handler checks the dev->attached flag to ensure the device is fully set up, but it currently does that after dereferencing the dev->read_dev pointer which may be NULL if dev->attached is false. Move the check to avoid the possible null pointer dereference. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Link: https://patch.msgid.link/20260618102949.26607-12-abbotti@mev.co.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
6f6f6644e0
commit
1bc9538df6
@@ -211,13 +211,15 @@ static irqreturn_t daqp_interrupt(int irq, void *dev_id)
|
||||
{
|
||||
struct comedi_device *dev = dev_id;
|
||||
struct comedi_subdevice *s = dev->read_subdev;
|
||||
struct comedi_cmd *cmd = &s->async->cmd;
|
||||
struct comedi_cmd *cmd;
|
||||
int loop_limit = 10000;
|
||||
int status;
|
||||
|
||||
if (!dev->attached)
|
||||
return IRQ_NONE;
|
||||
|
||||
cmd = &s->async->cmd;
|
||||
|
||||
status = inb(dev->iobase + DAQP_STATUS_REG);
|
||||
if (!(status & DAQP_STATUS_EVENTS))
|
||||
return IRQ_NONE;
|
||||
|
||||
Reference in New Issue
Block a user