linux/net/mac802154
Yousef Alhouseen 539dfcf691 mac802154: remove interfaces with RCU list deletion
Queue wake, stop, and disable paths walk local->interfaces under RCU.
The bulk hardware teardown path removes entries with list_del(), so an
asynchronous transmit completion can follow a poisoned list node in
ieee802154_wake_queue().

Use list_del_rcu() as in the single-interface removal path. The following
unregister_netdevice() waits for in-flight RCU readers before freeing the
netdevice, so no separate grace-period wait is needed.

Fixes: 592dfbfc72 ("mac820154: move interface unregistration into iface")
Reported-by: syzbot+36256deb69a588e9290e@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=36256deb69a588e9290e
Cc: stable@vger.kernel.org
Signed-off-by: Yousef Alhouseen <alhouseenyousef@gmail.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://patch.msgid.link/20260701164222.9094-1-alhouseenyousef@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-07-03 16:14:23 +02:00
..
cfg.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
cfg.h
driver-ops.h mac802154: set filter at drv_start() 2022-10-12 12:56:58 +02:00
ieee802154_i.h net: mac802154: Remove unused ieee802154_mlme_tx_one 2024-12-30 16:40:38 +01:00
iface.c mac802154: remove interfaces with RCU list deletion 2026-07-03 16:14:23 +02:00
Kconfig
llsec.c mac802154: llsec: add skb_cow_data() before in-place crypto 2026-06-19 22:43:34 +02:00
llsec.h
mac_cmd.c
main.c mac802154: Switch to use hrtimer_setup() 2025-02-18 10:35:44 +01:00
Makefile mac802154: Handle passive scanning 2023-01-03 19:48:43 +01:00
mib.c
rx.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
scan.c mac802154: Prevent overwrite return code in mac802154_perform_association() 2026-06-19 22:55:16 +02:00
trace.c
trace.h ieee802154: Replace strlcpy with strscpy 2023-06-16 22:14:24 +02:00
tx.c net: mac802154: Remove unused ieee802154_mlme_tx_one 2024-12-30 16:40:38 +01:00
util.c net: mac802154: Fixup function parameter name in docs 2022-10-26 09:40:34 +02:00