From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org,
Vincent Whitchurch <vincent.whitchurch@axis.com>,
Lars-Peter Clausen <lars@metafoo.de>,
Stable@vger.kernel.org,
Jonathan Cameron <Jonathan.Cameron@huawei.com>
Subject: [PATCH 4.9 15/29] iio: trigger: sysfs: fix use-after-free on remove
Date: Thu, 30 Jun 2022 15:46:15 +0200 [thread overview]
Message-ID: <20220630133231.653966976@linuxfoundation.org> (raw)
In-Reply-To: <20220630133231.200642128@linuxfoundation.org>
From: Vincent Whitchurch <vincent.whitchurch@axis.com>
commit 78601726d4a59a291acc5a52da1d3a0a6831e4e8 upstream.
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
==================================================================
Fixes: f38bc926d022 ("staging:iio:sysfs-trigger: Use irq_work to properly active trigger")
Signed-off-by: Vincent Whitchurch <vincent.whitchurch@axis.com>
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
Link: https://lore.kernel.org/r/20220519091925.1053897-1-vincent.whitchurch@axis.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/iio/trigger/iio-trig-sysfs.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/iio/trigger/iio-trig-sysfs.c
+++ b/drivers/iio/trigger/iio-trig-sysfs.c
@@ -199,6 +199,7 @@ static int iio_sysfs_trigger_remove(int
}
iio_trigger_unregister(t->trig);
+ irq_work_sync(&t->work);
iio_trigger_free(t->trig);
list_del(&t->l);
next prev parent reply other threads:[~2022-06-30 13:48 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-30 13:46 [PATCH 4.9 00/29] 4.9.321-rc1 review Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 01/29] vt: drop old FONT ioctls Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 02/29] random: schedule mix_interrupt_randomness() less often Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 03/29] ata: libata: add qc->flags in ata_qc_complete_template tracepoint Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 04/29] dm era: commit metadata in postsuspend after worker stops Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 05/29] random: quiet urandom warning ratelimit suppression message Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 06/29] USB: serial: option: add Telit LE910Cx 0x1250 composition Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 07/29] bonding: ARP monitor spams NETDEV_NOTIFY_PEERS notifiers Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 08/29] x86/xen: Remove undefined behavior in setup_features() Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 09/29] MIPS: Remove repetitive increase irq_err_count Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 10/29] igb: Make DMA faster when CPU is active on the PCIe link Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 11/29] iio: adc: vf610: fix conversion mode sysfs node name Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 12/29] usb: chipidea: udc: check request status before setting device address Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 13/29] iio:accel:bma180: rearrange iio trigger get and register Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 14/29] iio: accel: mma8452: ignore the return value of reset operation Greg Kroah-Hartman
2022-06-30 13:46 ` Greg Kroah-Hartman [this message]
2022-06-30 13:46 ` [PATCH 4.9 16/29] xtensa: xtfpga: Fix refcount leak bug in setup Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 17/29] xtensa: Fix refcount leak bug in time.c Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 18/29] powerpc: Enable execve syscall exit tracepoint Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 19/29] ARM: dts: imx6qdl: correct PU regulator ramp delay Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 20/29] ARM: exynos: Fix refcount leak in exynos_map_pmu Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 21/29] ARM: Fix refcount leak in axxia_boot_secondary Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 22/29] ARM: cns3xxx: Fix refcount leak in cns3xxx_init Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 23/29] modpost: fix section mismatch check for exported init/exit sections Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 24/29] powerpc/pseries: wire up rng during setup_arch() Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 25/29] drm: remove drm_fb_helper_modinit Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 26/29] xen: unexport __init-annotated xen_xlate_map_ballooned_pages() Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 27/29] fdt: Update CRC check for rng-seed Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 28/29] kexec_file: drop weak attribute from arch_kexec_apply_relocations[_add] Greg Kroah-Hartman
2022-06-30 13:46 ` [PATCH 4.9 29/29] swiotlb: skip swiotlb_bounce when orig_addr is zero Greg Kroah-Hartman
2022-06-30 17:09 ` [PATCH 4.9 00/29] 4.9.321-rc1 review Jon Hunter
2022-06-30 23:06 ` Shuah Khan
2022-06-30 23:57 ` Florian Fainelli
2022-07-01 0:56 ` Guenter Roeck
2022-07-01 8:24 ` Naresh Kamboju
2022-07-01 18:45 ` Pavel Machek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220630133231.653966976@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=Jonathan.Cameron@huawei.com \
--cc=lars@metafoo.de \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=vincent.whitchurch@axis.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.