bond3: (slave wlan1): Releasing backup interface ============================================ WARNING: possible recursive locking detected 6.6.0-rc4-syzkaller-01096-g48533eca606e #0 Not tainted -------------------------------------------- kworker/u4:20/1920 is trying to acquire lock: ffff888029960768 (&rdev->wiphy.mtx){+.+.}-{3:3}, at: wiphy_lock include/net/cfg80211.h:5870 [inline] ffff888029960768 (&rdev->wiphy.mtx){+.+.}-{3:3}, at: ieee80211_change_mac+0x8c/0x13a0 net/mac80211/iface.c:301 but task is already holding lock: ffff888029960768 (&rdev->wiphy.mtx){+.+.}-{3:3}, at: wiphy_lock include/net/cfg80211.h:5870 [inline] ffff888029960768 (&rdev->wiphy.mtx){+.+.}-{3:3}, at: ieee80211_remove_interfaces+0xfe/0x750 net/mac80211/iface.c:2253 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(&rdev->wiphy.mtx); lock(&rdev->wiphy.mtx); *** DEADLOCK *** May be due to missing lock nesting notation 5 locks held by kworker/u4:20/1920: #0: ffff888012c73d38 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work+0x787/0x15c0 kernel/workqueue.c:2605 #1: ffffc9000fa5fd80 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work+0x7e9/0x15c0 kernel/workqueue.c:2606 #2: ffffffff8e5eedd0 (pernet_ops_rwsem){++++}-{3:3}, at: cleanup_net+0x9f/0xb20 net/core/net_namespace.c:576 #3: ffffffff8e6040e8 (rtnl_mutex){+.+.}-{3:3}, at: ieee80211_unregister_hw+0x4d/0x3a0 net/mac80211/main.c:1486 #4: ffff888029960768 (&rdev->wiphy.mtx){+.+.}-{3:3}, at: wiphy_lock include/net/cfg80211.h:5870 [inline] #4: ffff888029960768 (&rdev->wiphy.mtx){+.+.}-{3:3}, at: ieee80211_remove_interfaces+0xfe/0x750 net/mac80211/iface.c:2253 stack backtrace: CPU: 1 PID: 1920 Comm: kworker/u4:20 Not tainted 6.6.0-rc4-syzkaller-01096-g48533eca606e #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/06/2023 Workqueue: netns cleanup_net Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xd9/0x1b0 lib/dump_stack.c:106 check_deadlock kernel/locking/lockdep.c:3062 [inline] validate_chain kernel/locking/lockdep.c:3855 [inline] __lock_acquire+0x2971/0x5de0 kernel/locking/lockdep.c:5136 lock_acquire kernel/locking/lockdep.c:5753 [inline] lock_acquire+0x1ae/0x510 kernel/locking/lockdep.c:5718 __mutex_lock_common kernel/locking/mutex.c:603 [inline] __mutex_lock+0x181/0x1340 kernel/locking/mutex.c:747 wiphy_lock include/net/cfg80211.h:5870 [inline] ieee80211_change_mac+0x8c/0x13a0 net/mac80211/iface.c:301 dev_set_mac_address+0x303/0x4a0 net/core/dev.c:8855 __bond_release_one+0xb1b/0x17e0 drivers/net/bonding/bond_main.c:2504 bond_slave_netdev_event drivers/net/bonding/bond_main.c:3888 [inline] bond_netdev_event+0xbab/0xd30 drivers/net/bonding/bond_main.c:4006 notifier_call_chain+0xb6/0x3b0 kernel/notifier.c:93 call_netdevice_notifiers_info+0xb9/0x130 net/core/dev.c:1970 call_netdevice_notifiers_extack net/core/dev.c:2008 [inline] call_netdevice_notifiers net/core/dev.c:2022 [inline] unregister_netdevice_many_notify+0x85f/0x1a20 net/core/dev.c:10960 unregister_netdevice_many net/core/dev.c:11016 [inline] unregister_netdevice_queue+0x2e5/0x3c0 net/core/dev.c:10896 unregister_netdevice include/linux/netdevice.h:3116 [inline] _cfg80211_unregister_wdev+0x61c/0x7e0 net/wireless/core.c:1204 ieee80211_remove_interfaces+0x36d/0x750 net/mac80211/iface.c:2278 ieee80211_unregister_hw+0x55/0x3a0 net/mac80211/main.c:1493 mac80211_hwsim_del_radio drivers/net/wireless/virtual/mac80211_hwsim.c:5410 [inline] hwsim_exit_net+0x3a8/0x7d0 drivers/net/wireless/virtual/mac80211_hwsim.c:6287 ops_exit_list+0xb0/0x170 net/core/net_namespace.c:170 cleanup_net+0x505/0xb20 net/core/net_namespace.c:614 process_one_work+0x884/0x15c0 kernel/workqueue.c:2630 process_scheduled_works kernel/workqueue.c:2703 [inline] worker_thread+0x8b9/0x1290 kernel/workqueue.c:2784 kthread+0x33c/0x440 kernel/kthread.c:388 ret_from_fork+0x45/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x11/0x20 arch/x86/entry/entry_64.S:304