Ian Abbott
7379e6baed
staging: comedi: amplc_pci230: fix null pointer deref on interrupt
...
The interrupt handler `pci230_interrupt()` causes a null pointer
dereference for a PCI260 card. There is no analog output subdevice for
a PCI260. The `dev->write_subdev` subdevice pointer and therefore the
`s_ao` subdevice pointer variable will be `NULL` for a PCI260. The
following call near the end of the interrupt handler results in the null
pointer dereference for a PCI260:
comedi_handle_events(dev, s_ao);
Fix it by only calling the above function if `s_ao` is valid.
Note that the other uses of `s_ao` in the calls
`pci230_handle_ao_nofifo(dev, s_ao);` and `pci230_handle_ao_fifo(dev,
s_ao);` will never be reached for a PCI260, so they are safe.
Fixes: 39064f2328 ("staging: comedi: amplc_pci230: use comedi_handle_events()")
Cc: <stable@vger.kernel.org > # v3.19+
Signed-off-by: Ian Abbott <abbotti@mev.co.uk >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2019-07-01 08:50:15 +02:00
..
2019-05-24 17:36:47 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-13 10:35:55 +02:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:41 -07:00
2019-05-30 11:26:32 -07:00
2019-06-13 17:34:56 -10:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:06 +02:00
2019-06-21 09:58:42 -07:00
2019-05-21 11:28:39 +02:00
2019-06-19 17:11:22 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:35 -07:00
2019-06-17 22:28:29 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-13 17:34:56 -10:00
2019-05-24 17:27:11 +02:00
2019-06-19 17:09:55 +02:00
2019-05-21 10:50:46 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:07 +02:00
2019-06-05 17:37:17 +02:00
2019-05-30 11:29:53 -07:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:35 -07:00
2019-06-21 09:58:42 -07:00
2019-05-24 17:36:45 +02:00
2019-06-08 12:52:42 -07:00
2019-06-19 17:09:11 +02:00
2019-05-21 10:50:46 +02:00
2019-06-19 17:09:55 +02:00
2019-06-21 11:03:33 -07:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:07 +02:00
2019-06-05 17:37:05 +02:00
2019-06-19 17:09:55 +02:00
2019-05-21 10:50:46 +02:00
2019-06-19 17:09:55 +02:00
2019-05-21 10:50:46 +02:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:06 +02:00
2019-06-23 13:29:03 +02:00
2019-06-18 16:27:24 -04:00
2019-06-21 09:58:42 -07:00
2019-05-21 10:50:46 +02:00
2019-06-22 14:08:47 -07:00
2019-06-05 17:37:17 +02:00
2019-06-21 09:58:42 -07:00
2019-05-31 08:34:32 -07:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:14 +02:00
2019-06-19 17:09:08 +02:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:17 +02:00
2019-06-18 08:02:25 -07:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-05-21 10:50:46 +02:00
2019-06-19 17:09:55 +02:00
2019-06-21 10:18:16 -07:00
2019-06-21 09:58:42 -07:00
2019-06-19 17:09:55 +02:00
2019-06-21 22:23:35 -07:00
2019-06-05 17:37:15 +02:00
2019-06-05 17:36:37 +02:00
2019-05-21 10:50:46 +02:00
2019-06-13 17:34:56 -10:00
2019-06-07 14:04:28 -06:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:16 +02:00
2019-06-19 17:09:55 +02:00
2019-06-08 12:52:42 -07:00
2019-06-19 17:09:55 +02:00
2019-06-22 09:42:29 -07:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:25:19 -07:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:04 +02:00
2019-05-24 17:36:45 +02:00
2019-05-30 11:26:39 -07:00
2019-05-30 11:26:39 -07:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:37 -07:00
2019-06-07 23:21:39 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-13 15:52:28 +02:00
2019-05-24 17:36:45 +02:00
2019-06-22 09:39:03 -07:00
2019-05-21 10:50:46 +02:00
2019-05-21 10:50:46 +02:00
2019-05-21 10:50:46 +02:00
2019-04-25 22:23:06 +02:00
2019-05-21 10:50:46 +02:00
2019-06-21 09:58:42 -07:00
2019-06-10 18:07:39 +02:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:36:37 +02:00
2019-05-21 10:50:46 +02:00
2019-07-01 08:50:15 +02:00
2019-06-19 17:09:55 +02:00
2019-05-21 10:50:46 +02:00
2019-06-05 17:36:37 +02:00
2019-06-19 17:09:55 +02:00
2019-06-14 14:25:43 +03:00
2019-05-24 17:08:18 +02:00
2019-06-19 17:09:55 +02:00
2019-06-20 11:56:35 +02:00
2019-06-19 17:09:07 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:52 +02:00
2019-06-19 17:09:55 +02:00
2019-05-21 10:50:46 +02:00
2019-05-27 11:08:22 -04:00
2019-05-21 10:50:46 +02:00
2019-05-24 17:39:00 +02:00
2019-05-30 11:26:32 -07:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-05-21 10:50:46 +02:00
2019-04-25 21:33:37 +02:00
2019-04-25 21:33:37 +02:00