1
0
Fork 0
alistair23-linux/drivers/iio
Srinivas Pandruvada f07b60b7c3 iio: hid-sensors: Prevent crash during hot-unplug
When hid sensor hub is unplugged, there is a crash in
iio_device_unregister_trigger_consumer.
In a typical IIO driver when remove is called, it will unregister and free
trigger and then it will call iio_device_free.
The function iio_trigger_free() will free the allocated memory for trigger.
If this trigger was assigned to iio_dev->trig, then it should be set to NULL.
Othewise when iio_device_free() is called later, it finally calls
iio_device_unregsister_trigger(), which checks for
       if (indio_dev->trig)
                iio_trigger_put(indio_dev->trig);
If indio_dev->trig is not set to NULL, it calls iio_trigger_put on a bad
pointer causing crash.
This scenerio can happen in any driver, which is storing trigger pointer in
iio_dev structure and following current procedure during remove.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2012-09-22 10:07:34 +01:00
..
accel iio: Drop timestamp parameter from buffer store_to callback 2012-09-08 10:14:34 +01:00
adc IIO new drivers, features and rework for the 3.7 cycle, 4th set. 2012-09-17 14:42:54 -07:00
amplifiers iio: amplifiers: New driver for AD8366 Dual-Digital Variable Gain Amplifier 2012-05-14 13:15:39 -07:00
common iio: hid-sensors: Prevent crash during hot-unplug 2012-09-22 10:07:34 +01:00
dac iio:dac: Add ad5755 driver 2012-09-17 20:55:54 +01:00
frequency iio: frequency: ADF4350: Fix potential reference div factor overflow. 2012-08-16 20:24:33 +01:00
gyro iio: Drop timestamp parameter from buffer store_to callback 2012-09-08 10:14:34 +01:00
light iio: Drop timestamp parameter from buffer store_to callback 2012-09-08 10:14:34 +01:00
magnetometer iio: Drop timestamp parameter from buffer store_to callback 2012-09-08 10:14:34 +01:00
Kconfig iio: hid-sensors: Added ALS 2012-09-06 19:24:15 +01:00
Makefile iio: hid-sensors: Added ALS 2012-09-06 19:24:15 +01:00
iio_core.h IIO: Move the core files to drivers/iio 2012-04-25 11:11:38 -07:00
iio_core_trigger.h IIO: Move the core files to drivers/iio 2012-04-25 11:11:38 -07:00
industrialio-buffer.c iio: Drop timestamp parameter from buffer store_to callback 2012-09-08 10:14:34 +01:00
industrialio-core.c iio: Introduce a new fractional value type 2012-09-15 10:12:22 +01:00
industrialio-event.c iio: Fix unitialized use of list 2012-07-08 20:02:24 +01:00
industrialio-trigger.c iio:trigger: Register sysfs file statically 2012-07-08 10:39:58 +01:00
industrialio-triggered-buffer.c iio: Add helper function for initializing triggered buffers 2012-06-18 17:26:09 -07:00
inkern.c iio:inkern: Add function to read the processed value 2012-09-17 21:48:51 +01:00
kfifo_buf.c iio: Drop timestamp parameter from buffer store_to callback 2012-09-08 10:14:34 +01:00