mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 20:54:03 +02:00
comedi: pcm818: 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-9-abbotti@mev.co.uk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
4fdac5090c
commit
956e847826
|
|
@ -534,13 +534,14 @@ static irqreturn_t pcl818_interrupt(int irq, void *d)
|
|||
struct comedi_device *dev = d;
|
||||
struct pcl818_private *devpriv = dev->private;
|
||||
struct comedi_subdevice *s = dev->read_subdev;
|
||||
struct comedi_cmd *cmd = &s->async->cmd;
|
||||
struct comedi_cmd *cmd;
|
||||
|
||||
if (!dev->attached || !devpriv->ai_cmd_running) {
|
||||
pcl818_ai_clear_eoc(dev);
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
cmd = &s->async->cmd;
|
||||
if (devpriv->ai_cmd_canceled) {
|
||||
/*
|
||||
* The cleanup from ai_cancel() has been delayed
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user