mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 12:44:03 +02:00
comedi: ni_atmio16d: Add sanity check to interrupt handler
The driver requests an interrupt handler for the device, after setting device registers to disable interrupt generation. The interrupt handler should not be called prematurely unless the user-configured I/O port base address and/or IRQ number are incorrect or the hardware is bad. For safety, check the dev->attached flag in the interrupt handler to ensure the device has been fully set up, avoiding a possible null pointer dereference of dev->read_subdev. Reported-by: Jaeyoung Chung <jjy600901@snu.ac.kr> Link: https://lore.kernel.org/lkml/20260610115912.780131-1-jjy600901@snu.ac.kr/ Reported-by: Sangyun Kim <sangyun.kim@snu.ac.kr> Reported-by: Kyungwook Boo <bookyungwook@gmail.com> Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Link: https://patch.msgid.link/20260618102949.26607-6-abbotti@mev.co.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
e7356cdc70
commit
13f4796223
|
|
@ -223,6 +223,9 @@ static irqreturn_t atmio16d_interrupt(int irq, void *d)
|
|||
struct comedi_subdevice *s = dev->read_subdev;
|
||||
unsigned short val;
|
||||
|
||||
if (!dev->attached)
|
||||
return IRQ_NONE;
|
||||
|
||||
val = inw(dev->iobase + AD_FIFO_REG);
|
||||
comedi_buf_write_samples(s, &val, 1);
|
||||
comedi_handle_events(dev, s);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user