patch "iio: trigger: sysfs: fix use-after-free on remove" added to char-misc-linus
Subsystems (2)
This is a note to let you know that I've just added the patch titled
iio: trigger: sysfs: fix use-after-free on remove
to my char-misc git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
in the char-misc-linus branch.
The patch will show up in the next release of the linux-next tree (usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the next -rc kernel release.
If you have any questions about this process, please let me know.
From 78601726d4a59a291acc5a52da1d3a0a6831e4e8 Mon Sep 17 00:00:00 2001
From: Vincent Whitchurch <[email protected]>
Date: Thu, 19 May 2022 11:19:25 +0200
Subject: iio: trigger: sysfs: fix use-after-free on remove
Ensure that the irq_work has completed before the trigger is freed.
==================================================================
BUG: KASAN: use-after-free in irq_work_run_list Read of size 8 at addr 0000000064702248 by task python3/25 Call Trace: irq_work_run_list irq_work_tick update_process_times tick_sched_handle tick_sched_timer __hrtimer_run_queues hrtimer_interrupt Allocated by task 25: kmem_cache_alloc_trace iio_sysfs_trig_add dev_attr_store sysfs_kf_write kernfs_fop_write_iter new_sync_write vfs_write ksys_write sys_write Freed by task 25: kfree iio_sysfs_trig_remove dev_attr_store sysfs_kf_write kernfs_fop_write_iter new_sync_write vfs_write ksys_write sys_write
==================================================================
--- drivers/iio/trigger/iio-trig-sysfs.c | 1 + 1 file changed, 1 insertion(+)
drivers/iio/trigger/iio-trig-sysfs.c +1 -0
@@ -191,6 +191,7 @@ static int iio_sysfs_trigger_remove(int id) }iio_trigger_unregister (t->trig); +irq_work_sync (&t->work);iio_trigger_free (t->trig);list_del (&t->l);
Signature · 1 line
2.36.1