mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [syzbot] WARNING in wiphy_delayed_work_cancel
@ 2026-08-30 10:04 syzbot
  2026-10-03 10:05 ` Forwarded: [PATCH test] wifi: mac80211: acquire wiphy lock in ieee80211_uninit() syzbot
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: syzbot @ 2026-08-30 10:04 UTC (permalink / raw)
  To: linux-kernel, syzkaller-bugs

Hello,

syzbot found the following issue on:

HEAD commit:    818bebeb63dd drm/xe: Don't hand out the flat CCS storage a..
git tree:       git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
console output: https://syzkaller.appspot.com/x/log.txt?x=11cff979580000
kernel config:  https://syzkaller.appspot.com/x/.config?x=ccca94d2c01b9e78
dashboard link: https://syzkaller.appspot.com/bug?extid=e9cbd080a7801f06cf08
compiler:       gcc (Debian 14.2.0-19) 14.2.0, GNU ld (GNU Binutils for Debian) 2.44
C reproducer:   https://syzkaller.appspot.com/x/repro.c?x=1284d979580000

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+e9cbd080a7801f06cf08@syzkaller.appspotmail.com

------------[ cut here ]------------
debug_locks && !(lock_is_held(&(&wiphy->mtx)->dep_map) != 0)
WARNING: net/wireless/core.c:1957 at wiphy_delayed_work_cancel+0x9a/0xb0 net/wireless/core.c:1957, CPU#3: kworker/u32:0/12
Modules linked in:
CPU: 3 UID: 0 PID: 12 Comm: kworker/u32:0 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
Workqueue: netns cleanup_net
RIP: 0010:wiphy_delayed_work_cancel+0x9a/0xb0 net/wireless/core.c:1957
Code: e8 bb a8 fa f6 48 8d 7d 60 be ff ff ff ff e8 ed 85 b6 00 31 ff 41 89 c4 89 c6 e8 11 a3 fa f6 45 85 e4 75 bf e8 97 a8 fa f6 90 <0f> 0b 90 eb b4 48 c7 c7 84 8a 43 91 e8 45 7c 6d f7 eb 90 0f 1f 00
RSP: 0018:ffffc900000f7740 EFLAGS: 00010293
RAX: 0000000000000000 RBX: ffff88802b5e18a8 RCX: 0000000000000000
RDX: ffff88801ee9cb00 RSI: ffffffff8b105939 RDI: ffff88801ee9cb00
RBP: ffff888103680740 R08: 0000000000000005 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000001 R12: 0000000000000000
R13: 0000000000000000 R14: ffff888103680f40 R15: ffff888103680f90
FS:  0000000000000000(0000) GS:ffff8880d5ea2000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055979cdf8da8 CR3: 000000003e9c7000 CR4: 0000000000352ef0
Call Trace:
 <TASK>
 ieee80211_free_keys+0xcd/0x640 net/mac80211/key.c:1148
 ieee80211_teardown_sdata+0x54/0x250 net/mac80211/iface.c:906
 unregister_netdevice_many_notify+0x1407/0x2150 net/core/dev.c:12537
 unregister_netdevice_many net/core/dev.c:12589 [inline]
 default_device_exit_batch+0x907/0xbd0 net/core/dev.c:13288
 ops_exit_list net/core/net_namespace.c:206 [inline]
 ops_undo_list+0x363/0xab0 net/core/net_namespace.c:253
 cleanup_net+0x499/0x920 net/core/net_namespace.c:706
 process_one_work+0xac7/0x1b10 kernel/workqueue.c:3387
 process_scheduled_works kernel/workqueue.c:3470 [inline]
 worker_thread+0x5ef/0xe50 kernel/workqueue.c:3551
 kthread+0x373/0x450 kernel/kthread.c:436
 ret_from_fork+0x730/0xd60 arch/x86/kernel/process.c:158
 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:245
 </TASK>


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Forwarded: [PATCH test] wifi: mac80211: acquire wiphy lock in ieee80211_uninit()
  2026-08-30 10:04 [syzbot] WARNING in wiphy_delayed_work_cancel syzbot
@ 2026-10-03 10:05 ` syzbot
  2026-10-03 10:13 ` syzbot
  2026-10-03 10:37 ` Forwarded: [PATCH test v2] wifi: mac80211: acquire wiphy lock for unlisted sdata teardown syzbot
  2 siblings, 0 replies; 4+ messages in thread
From: syzbot @ 2026-10-03 10:05 UTC (permalink / raw)
  To: linux-kernel, syzkaller-bugs

For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.

***

Subject: [PATCH test] wifi: mac80211: acquire wiphy lock in ieee80211_uninit()
Author: rajojha047@gmail.com

#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master

diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 842bfb4a7cb6..c011e40eb351 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -949,8 +949,13 @@ static void ieee80211_unlist_sdata(struct ieee80211_sub_if_data *sdata)
 static void ieee80211_uninit(struct net_device *dev)
 {
 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
+	struct wiphy *wiphy = sdata->local->hw.wiphy;
 
 	ieee80211_unlist_sdata(sdata);
+
+	wiphy_lock(wiphy);
 	ieee80211_teardown_sdata(sdata);
+	wiphy_unlock(wiphy);
 }
 
 static int ieee80211_netdev_setup_tc(struct net_device *dev,

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Forwarded: [PATCH test] wifi: mac80211: acquire wiphy lock in ieee80211_uninit()
  2026-08-30 10:04 [syzbot] WARNING in wiphy_delayed_work_cancel syzbot
  2026-10-03 10:05 ` Forwarded: [PATCH test] wifi: mac80211: acquire wiphy lock in ieee80211_uninit() syzbot
@ 2026-10-03 10:13 ` syzbot
  2026-10-03 10:37 ` Forwarded: [PATCH test v2] wifi: mac80211: acquire wiphy lock for unlisted sdata teardown syzbot
  2 siblings, 0 replies; 4+ messages in thread
From: syzbot @ 2026-10-03 10:13 UTC (permalink / raw)
  To: linux-kernel, syzkaller-bugs

For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.

***

Subject: [PATCH test] wifi: mac80211: acquire wiphy lock in ieee80211_uninit()
Author: rajojha047@gmail.com

#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master

diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 842bfb4a7cb6..c011e40eb351 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -950,9 +950,13 @@ static void ieee80211_unlist_sdata(struct ieee80211_sub_if_data *sdata)
 static void ieee80211_uninit(struct net_device *dev)
 {
 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
+	struct wiphy *wiphy = sdata->local->hw.wiphy;
 
 	ieee80211_unlist_sdata(sdata);
+
+	wiphy_lock(wiphy);
 	ieee80211_teardown_sdata(sdata);
+	wiphy_unlock(wiphy);
 }
 
 static int ieee80211_netdev_setup_tc(struct net_device *dev,

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Forwarded: [PATCH test v2] wifi: mac80211: acquire wiphy lock for unlisted sdata teardown
  2026-08-30 10:04 [syzbot] WARNING in wiphy_delayed_work_cancel syzbot
  2026-10-03 10:05 ` Forwarded: [PATCH test] wifi: mac80211: acquire wiphy lock in ieee80211_uninit() syzbot
  2026-10-03 10:13 ` syzbot
@ 2026-10-03 10:37 ` syzbot
  2 siblings, 0 replies; 4+ messages in thread
From: syzbot @ 2026-10-03 10:37 UTC (permalink / raw)
  To: linux-kernel, syzkaller-bugs

For archival purposes, forwarding an incoming command email to
linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com.

***

Subject: [PATCH test v2] wifi: mac80211: acquire wiphy lock for unlisted sdata teardown
Author: rajojha047@gmail.com

#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master

diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c
index 5f0c482..175965f 100644
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
@@ -931,7 +931,7 @@ static void ieee80211_teardown_sdata(struct ieee80211_sub_if_data *sdata)
  * core when cfg80211 couldn't move it out of a network namespace that's being
  * destroyed. Drop it from the interface list either way.
  */
-static void ieee80211_unlist_sdata(struct ieee80211_sub_if_data *sdata)
+static bool ieee80211_unlist_sdata(struct ieee80211_sub_if_data *sdata)
 {
 	struct ieee80211_local *local = sdata->local;
 	struct ieee80211_sub_if_data *iter;
@@ -943,16 +943,25 @@ static void ieee80211_unlist_sdata(struct ieee80211_sub_if_data *sdata)
 			continue;
 		guard(mutex)(&local->iflist_mtx);
 		list_del_rcu(&sdata->list);
-		return;
+		return true;
 	}
+
+	return false;
 }
 
 static void ieee80211_uninit(struct net_device *dev)
 {
 	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
+	struct wiphy *wiphy = sdata->local->hw.wiphy;
+	bool unlisted = ieee80211_unlist_sdata(sdata);
+
+	if (unlisted)
+		wiphy_lock(wiphy);
 
-	ieee80211_unlist_sdata(sdata);
 	ieee80211_teardown_sdata(sdata);
+
+	if (unlisted)
+		wiphy_unlock(wiphy);
 }
 
 static int ieee80211_netdev_setup_tc(struct net_device *dev,

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-10-03 10:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-30 10:04 [syzbot] WARNING in wiphy_delayed_work_cancel syzbot
2026-10-03 10:05 ` Forwarded: [PATCH test] wifi: mac80211: acquire wiphy lock in ieee80211_uninit() syzbot
2026-10-03 10:13 ` syzbot
2026-10-03 10:37 ` Forwarded: [PATCH test v2] wifi: mac80211: acquire wiphy lock for unlisted sdata teardown syzbot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®