Subject: [syzbot] [wireless?] WARNING in drv_unassign_vif_chanctx (3)

From: syzbot <[email-masked]>
Date: Tue, 05 Aug 2025 08:57:32 -0700

Hello,

syzbot found the following issue on:

HEAD commit:    7e161a991ea7 Merge tag 'i2c-for-6.17-rc1-part2' of git://g..
git tree:       upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=13cc7aa2580000
kernel config:  https://syzkaller.appspot.com/x/.config?x=a1bb6a60e53533c7
dashboard link: https://syzkaller.appspot.com/bug?extid=6506f7abde798179ecc4
compiler:       gcc (Debian 12.2.0-14+deb12u1) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/c830eae67136/disk-7e161a99.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/cbc8fc9ead36/vmlinux-7e161a99.xz
kernel image: https://storage.googleapis.com/syzbot-assets/db1e8c2fe140/bzImage-7e161a99.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: [email-masked]

------------[ cut here ]------------
wlan1: Failed check-sdata-in-driver check, flags: 0x0
WARNING: CPU: 0 PID: 6119 at net/mac80211/driver-ops.c:366 drv_unassign_vif_chanctx+0x247/0x850 net/mac80211/driver-ops.c:366
Modules linked in:
CPU: 0 UID: 0 PID: 6119 Comm: kworker/u8:8 Not tainted 6.16.0-syzkaller-11699-g7e161a991ea7 #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025
Workqueue: netns cleanup_net
RIP: 0010:drv_unassign_vif_chanctx+0x247/0x850 net/mac80211/driver-ops.c:366
Code: 74 24 10 48 81 c6 20 01 00 00 48 89 74 24 10 e8 ff fb bb f6 8b 54 24 04 48 8b 74 24 10 48 c7 c7 60 5b 08 8d e8 4a 9a 7a f6 90 <0f> 0b 90 90 e8 e0 fb bb f6 4c 89 f2 48 b8 00 00 00 00 00 fc ff df
RSP: 0000:ffffc9000440f5f0 EFLAGS: 00010286
RAX: 0000000000000000 RBX: ffff8880758fcd80 RCX: ffffffff817a3308
RDX: ffff888026cb4880 RSI: ffffffff817a3315 RDI: 0000000000000001
RBP: ffff888076e70e40 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000001 R11: fffffffffffec258 R12: ffff8880758fea28
R13: 0000000000000000 R14: ffff8880758fd728 R15: ffff8880758fe9d0
FS:  0000000000000000(0000) GS:ffff8881246c6000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fc9ef0dafe8 CR3: 000000002b620000 CR4: 00000000003526f0
Call Trace:
 <TASK>
 ieee80211_assign_link_chanctx+0x3f1/0xf00 net/mac80211/chan.c:916
 __ieee80211_link_release_channel+0x273/0x4b0 net/mac80211/chan.c:1890
 ieee80211_link_release_channel+0x128/0x200 net/mac80211/chan.c:2165
 unregister_netdevice_many_notify+0x1419/0x24c0 net/core/dev.c:12177
 unregister_netdevice_many net/core/dev.c:12219 [inline]
 unregister_netdevice_queue+0x305/0x3f0 net/core/dev.c:12063
 unregister_netdevice include/linux/netdevice.h:3382 [inline]
 _cfg80211_unregister_wdev+0x64b/0x830 net/wireless/core.c:1275
 ieee80211_remove_interfaces+0x34e/0x740 net/mac80211/iface.c:2391
 ieee80211_unregister_hw+0x55/0x3a0 net/mac80211/main.c:1664
 mac80211_hwsim_del_radio drivers/net/wireless/virtual/mac80211_hwsim.c:5674 [inline]
 hwsim_exit_net+0x3ac/0x7d0 drivers/net/wireless/virtual/mac80211_hwsim.c:6554
 ops_exit_list net/core/net_namespace.c:198 [inline]
 ops_undo_list+0x2eb/0xab0 net/core/net_namespace.c:251
 cleanup_net+0x408/0x890 net/core/net_namespace.c:682
 process_one_work+0x9cf/0x1b70 kernel/workqueue.c:3236
 process_scheduled_works kernel/workqueue.c:3319 [inline]
 worker_thread+0x6c8/0xf10 kernel/workqueue.c:3400
 kthread+0x3c2/0x780 kernel/kthread.c:463
 ret_from_fork+0x5d7/0x6f0 arch/x86/kernel/process.c:148
 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 [email-masked].

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 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