summaryrefslogtreecommitdiff
path: root/include/uapi
diff options
context:
space:
mode:
authorPei Xiao <xiaopei01@kylinos.cn>2025-10-29 10:40:16 +0800
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2025-12-21 11:14:09 +0000
commitdbdb442218cd9d613adeab31a88ac973f22c4873 (patch)
tree183be6e787c1d32f13b6210ff17153248deebc6f /include/uapi
parent8f0b4cce4481fb22653697cced8d0d04027cb1e8 (diff)
iio: adc: at91-sama5d2_adc: Fix potential use-after-free in sama5d2_adc driver
at91_adc_interrupt can call at91_adc_touch_data_handler function to start the work by schedule_work(&st->touch_st.workq). If we remove the module which will call at91_adc_remove to make cleanup, it will free indio_dev through iio_device_unregister but quite a bit later. While the work mentioned above will be used. The sequence of operations that may lead to a UAF bug is as follows: CPU0 CPU1 | at91_adc_workq_handler at91_adc_remove | iio_device_unregister(indio_dev) | //free indio_dev a bit later | | iio_push_to_buffers(indio_dev) | //use indio_dev Fix it by ensuring that the work is canceled before proceeding with the cleanup in at91_adc_remove. Fixes: 23ec2774f1cc ("iio: adc: at91-sama5d2_adc: add support for position and pressure channels") Signed-off-by: Pei Xiao <xiaopei01@kylinos.cn> Cc: <Stable@vger.kernel.org> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'include/uapi')
0 files changed, 0 insertions, 0 deletions