possible deadlock in ieee80211_remove_interfaces ====================================================== WARNING: possible circular locking dependency detected 6.13.0-syzkaller-04046-g0ad9617c78ac #0 Not tainted ------------------------------------------------------ kworker/u8:2/35 is trying to acquire lock: ffffffff8fcc5a88 (rtnl_mutex){+.+.}-{4:4}, at: rtnl_acquire_if_cleanup_net net/core/dev.c:10272 [inline] ffffffff8fcc5a88 (rtnl_mutex){+.+.}-{4:4}, at: unregister_netdevice_many_notify+0xac2/0x2030 net/core/dev.c:11792 but task is already holding lock: ffff888073ce8768 (&rdev->wiphy.mtx){+.+.}-{4:4}, at: class_wiphy_constructor include/net/cfg80211.h:6061 [inline] ffff888073ce8768 (&rdev->wiphy.mtx){+.+.}-{4:4}, at: ieee80211_remove_interfaces+0x129/0x700 net/mac80211/iface.c:2280 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&rdev->wiphy.mtx){+.+.}-{4:4}: lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5851 __mutex_lock_common kernel/locking/mutex.c:585 [inline] __mutex_lock+0x19c/0x1010 kernel/locking/mutex.c:730 wiphy_lock include/net/cfg80211.h:6046 [inline] wiphy_register+0x1a49/0x27b0 net/wireless/core.c:1006 ieee80211_register_hw+0x354e/0x4240 net/mac80211/main.c:1587 mac80211_hwsim_new_radio+0x2a9f/0x4a90 drivers/net/wireless/virtual/mac80211_hwsim.c:5558 init_mac80211_hwsim+0x87a/0xb00 drivers/net/wireless/virtual/mac80211_hwsim.c:6910 do_one_initcall+0x248/0x870 init/main.c:1267 do_initcall_level+0x157/0x210 init/main.c:1329 do_initcalls+0x3f/0x80 init/main.c:1345 kernel_init_freeable+0x435/0x5d0 init/main.c:1578 kernel_init+0x1d/0x2b0 init/main.c:1467 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 -> #0 (rtnl_mutex){+.+.}-{4:4}: check_prev_add kernel/locking/lockdep.c:3163 [inline] check_prevs_add kernel/locking/lockdep.c:3282 [inline] validate_chain+0x18ef/0x5920 kernel/locking/lockdep.c:3906 __lock_acquire+0x1397/0x2100 kernel/locking/lockdep.c:5228 lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5851 __mutex_lock_common kernel/locking/mutex.c:585 [inline] __mutex_lock+0x19c/0x1010 kernel/locking/mutex.c:730 rtnl_acquire_if_cleanup_net net/core/dev.c:10272 [inline] unregister_netdevice_many_notify+0xac2/0x2030 net/core/dev.c:11792 unregister_netdevice_many net/core/dev.c:11875 [inline] unregister_netdevice_queue+0x303/0x370 net/core/dev.c:11741 unregister_netdevice include/linux/netdevice.h:3329 [inline] _cfg80211_unregister_wdev+0x163/0x590 net/wireless/core.c:1251 ieee80211_remove_interfaces+0x4ef/0x700 net/mac80211/iface.c:2305 ieee80211_unregister_hw+0x5d/0x2c0 net/mac80211/main.c:1681 mac80211_hwsim_del_radio+0x2c4/0x4c0 drivers/net/wireless/virtual/mac80211_hwsim.c:5664 hwsim_exit_net+0x5c1/0x670 drivers/net/wireless/virtual/mac80211_hwsim.c:6544 ops_exit_list net/core/net_namespace.c:172 [inline] cleanup_net+0x812/0xd60 net/core/net_namespace.c:652 process_one_work kernel/workqueue.c:3236 [inline] process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3317 worker_thread+0x870/0xd30 kernel/workqueue.c:3398 kthread+0x7a9/0x920 kernel/kthread.c:464 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 other info that might help us debug this: Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&rdev->wiphy.mtx); lock(rtnl_mutex); lock(&rdev->wiphy.mtx); lock(rtnl_mutex); *** DEADLOCK *** 4 locks held by kworker/u8:2/35: #0: ffff88801baf5948 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3211 [inline] #0: ffff88801baf5948 ((wq_completion)netns){+.+.}-{0:0}, at: process_scheduled_works+0x93b/0x1840 kernel/workqueue.c:3317 #1: ffffc90000ab7c60 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work kernel/workqueue.c:3212 [inline] #1: ffffc90000ab7c60 (net_cleanup_work){+.+.}-{0:0}, at: process_scheduled_works+0x976/0x1840 kernel/workqueue.c:3317 #2: ffffffff8fcb94d0 (pernet_ops_rwsem){++++}-{4:4}, at: cleanup_net+0x17a/0xd60 net/core/net_namespace.c:606 #3: ffff888073ce8768 (&rdev->wiphy.mtx){+.+.}-{4:4}, at: class_wiphy_constructor include/net/cfg80211.h:6061 [inline] #3: ffff888073ce8768 (&rdev->wiphy.mtx){+.+.}-{4:4}, at: ieee80211_remove_interfaces+0x129/0x700 net/mac80211/iface.c:2280 stack backtrace: CPU: 0 UID: 0 PID: 35 Comm: kworker/u8:2 Not tainted 6.13.0-syzkaller-04046-g0ad9617c78ac #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024 Workqueue: netns cleanup_net Call Trace: __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x241/0x360 lib/dump_stack.c:120 print_circular_bug+0x13a/0x1b0 kernel/locking/lockdep.c:2076 check_noncircular+0x36a/0x4a0 kernel/locking/lockdep.c:2208 check_prev_add kernel/locking/lockdep.c:3163 [inline] check_prevs_add kernel/locking/lockdep.c:3282 [inline] validate_chain+0x18ef/0x5920 kernel/locking/lockdep.c:3906 __lock_acquire+0x1397/0x2100 kernel/locking/lockdep.c:5228 lock_acquire+0x1ed/0x550 kernel/locking/lockdep.c:5851 __mutex_lock_common kernel/locking/mutex.c:585 [inline] __mutex_lock+0x19c/0x1010 kernel/locking/mutex.c:730 rtnl_acquire_if_cleanup_net net/core/dev.c:10272 [inline] unregister_netdevice_many_notify+0xac2/0x2030 net/core/dev.c:11792 unregister_netdevice_many net/core/dev.c:11875 [inline] unregister_netdevice_queue+0x303/0x370 net/core/dev.c:11741 unregister_netdevice include/linux/netdevice.h:3329 [inline] _cfg80211_unregister_wdev+0x163/0x590 net/wireless/core.c:1251 ieee80211_remove_interfaces+0x4ef/0x700 net/mac80211/iface.c:2305 ieee80211_unregister_hw+0x5d/0x2c0 net/mac80211/main.c:1681 mac80211_hwsim_del_radio+0x2c4/0x4c0 drivers/net/wireless/virtual/mac80211_hwsim.c:5664 hwsim_exit_net+0x5c1/0x670 drivers/net/wireless/virtual/mac80211_hwsim.c:6544 ops_exit_list net/core/net_namespace.c:172 [inline] cleanup_net+0x812/0xd60 net/core/net_namespace.c:652 process_one_work kernel/workqueue.c:3236 [inline] process_scheduled_works+0xa66/0x1840 kernel/workqueue.c:3317 worker_thread+0x870/0xd30 kernel/workqueue.c:3398 kthread+0x7a9/0x920 kernel/kthread.c:464 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:148 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 Warning: Permanently added '10.128.10.7' (ED25519) to the list of known hosts. 2025/01/26 11:23:25 ignoring optional flag "sandboxArg"="0" 2025/01/26 11:23:25 ignoring optional flag "type"="gce" 2025/01/26 11:23:25 parsed 1 programs [ 66.847101][ T5830] cgroup: Unknown subsys name 'net' [ 66.952495][ T5830] cgroup: Unknown subsys name 'cpuset' [ 66.961023][ T5830] cgroup: Unknown subsys name 'rlimit' [ 68.286858][ T5830] Adding 124996k swap on ./swap-file. Priority:0 extents:1 across:124996k [ 70.622283][ T5838] soft_limit_in_bytes is deprecated and will be removed. Please report your usecase to linux-mm@kvack.org if you depend on this functionality. [ 71.245175][ T54] Bluetooth: hci0: unexpected cc 0x0c03 length: 249 > 1 [ 71.253398][ T54] Bluetooth: hci0: unexpected cc 0x1003 length: 249 > 9 [ 71.263840][ T54] Bluetooth: hci0: unexpected cc 0x1001 length: 249 > 9 [ 71.273180][ T54] Bluetooth: hci0: unexpected cc 0x0c23 length: 249 > 4 [ 71.281967][ T54] Bluetooth: hci0: unexpected cc 0x0c25 length: 249 > 3 [ 71.289669][ T54] Bluetooth: hci0: unexpected cc 0x0c38 length: 249 > 2 [ 71.784122][ T1295] ieee802154 phy0 wpan0: encryption failed: -22 [ 71.790800][ T1295] ieee802154 phy1 wpan1: encryption failed: -22 [ 72.391566][ T5890] chnl_net:caif_netlink_parms(): no params data found [ 72.474818][ T5890] bridge0: port 1(bridge_slave_0) entered blocking state [ 72.483003][ T5890] bridge0: port 1(bridge_slave_0) entered disabled state [ 72.490646][ T5890] bridge_slave_0: entered allmulticast mode [ 72.497737][ T5890] bridge_slave_0: entered promiscuous mode [ 72.522248][ T5890] bridge0: port 2(bridge_slave_1) entered blocking state [ 72.529441][ T5890] bridge0: port 2(bridge_slave_1) entered disabled state [ 72.536736][ T5890] bridge_slave_1: entered allmulticast mode [ 72.544172][ T5890] bridge_slave_1: entered promiscuous mode [ 72.569069][ T5890] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link [ 72.580579][ T5890] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link [ 72.619045][ T5890] team0: Port device team_slave_0 added [ 72.630312][ T5890] team0: Port device team_slave_1 added [ 72.647903][ T5890] batman_adv: batadv0: Adding interface: batadv_slave_0 [ 72.655199][ T5890] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 72.681294][ T5890] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active [ 72.693818][ T5890] batman_adv: batadv0: Adding interface: batadv_slave_1 [ 72.700915][ T5890] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 72.726889][ T5890] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active [ 72.766262][ T5890] hsr_slave_0: entered promiscuous mode [ 72.772900][ T5890] hsr_slave_1: entered promiscuous mode [ 72.873517][ T5890] netdevsim netdevsim0 netdevsim0: renamed from eth0 [ 72.884437][ T5890] netdevsim netdevsim0 netdevsim1: renamed from eth1 [ 72.894450][ T5890] netdevsim netdevsim0 netdevsim2: renamed from eth2 [ 72.904401][ T5890] netdevsim netdevsim0 netdevsim3: renamed from eth3 [ 72.928546][ T5890] bridge0: port 2(bridge_slave_1) entered blocking state [ 72.935786][ T5890] bridge0: port 2(bridge_slave_1) entered forwarding state [ 72.944180][ T5890] bridge0: port 1(bridge_slave_0) entered blocking state [ 72.951388][ T5890] bridge0: port 1(bridge_slave_0) entered forwarding state [ 72.994784][ T5890] 8021q: adding VLAN 0 to HW filter on device bond0 [ 73.013953][ T52] bridge0: port 1(bridge_slave_0) entered disabled state [ 73.023422][ T52] bridge0: port 2(bridge_slave_1) entered disabled state [ 73.039383][ T5890] 8021q: adding VLAN 0 to HW filter on device team0 [ 73.052211][ T1159] bridge0: port 1(bridge_slave_0) entered blocking state [ 73.059336][ T1159] bridge0: port 1(bridge_slave_0) entered forwarding state [ 73.073855][ T52] bridge0: port 2(bridge_slave_1) entered blocking state [ 73.081096][ T52] bridge0: port 2(bridge_slave_1) entered forwarding state [ 73.202807][ T5890] 8021q: adding VLAN 0 to HW filter on device batadv0 [ 73.235338][ T5890] veth0_vlan: entered promiscuous mode [ 73.247272][ T5890] veth1_vlan: entered promiscuous mode [ 73.272335][ T5890] veth0_macvtap: entered promiscuous mode [ 73.281604][ T5890] veth1_macvtap: entered promiscuous mode [ 73.298700][ T5890] batman_adv: batadv0: Interface activated: batadv_slave_0 [ 73.313994][ T5890] batman_adv: batadv0: Interface activated: batadv_slave_1 [ 73.324753][ T5890] netdevsim netdevsim0 netdevsim0: set [1, 0] type 2 family 0 port 6081 - 0 [ 73.334373][ T5890] netdevsim netdevsim0 netdevsim1: set [1, 0] type 2 family 0 port 6081 - 0 [ 73.343214][ T5890] netdevsim netdevsim0 netdevsim2: set [1, 0] type 2 family 0 port 6081 - 0 [ 73.353351][ T5890] netdevsim netdevsim0 netdevsim3: set [1, 0] type 2 family 0 port 6081 - 0 [ 73.476446][ T35] netdevsim netdevsim0 netdevsim3 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 [ 73.551266][ T35] netdevsim netdevsim0 netdevsim2 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 [ 73.566585][ T52] wlan0: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 [ 73.578443][ T52] wlan0: Creating new IBSS network, BSSID 50:50:50:50:50:50 [ 73.602890][ T52] wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 [ 73.612599][ T52] wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50 [ 73.633078][ T35] netdevsim netdevsim0 netdevsim1 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 [ 73.716490][ T35] netdevsim netdevsim0 netdevsim0 (unregistering): unset [1, 0] type 2 family 0 port 6081 - 0 2025/01/26 11:23:35 executed programs: 0 [ 74.079005][ T54] Bluetooth: hci0: unexpected cc 0x0c03 length: 249 > 1 [ 74.088240][ T54] Bluetooth: hci0: unexpected cc 0x1003 length: 249 > 9 [ 74.097217][ T54] Bluetooth: hci0: unexpected cc 0x1001 length: 249 > 9 [ 74.107289][ T54] Bluetooth: hci0: unexpected cc 0x0c23 length: 249 > 4 [ 74.115736][ T54] Bluetooth: hci0: unexpected cc 0x0c25 length: 249 > 3 [ 74.123579][ T54] Bluetooth: hci0: unexpected cc 0x0c38 length: 249 > 2 [ 74.226749][ T5921] chnl_net:caif_netlink_parms(): no params data found [ 74.274245][ T5921] bridge0: port 1(bridge_slave_0) entered blocking state [ 74.281718][ T5921] bridge0: port 1(bridge_slave_0) entered disabled state [ 74.288861][ T5921] bridge_slave_0: entered allmulticast mode [ 74.295907][ T5921] bridge_slave_0: entered promiscuous mode [ 74.304755][ T5921] bridge0: port 2(bridge_slave_1) entered blocking state [ 74.312433][ T5921] bridge0: port 2(bridge_slave_1) entered disabled state [ 74.319711][ T5921] bridge_slave_1: entered allmulticast mode [ 74.326756][ T5921] bridge_slave_1: entered promiscuous mode [ 74.351110][ T5921] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link [ 74.364163][ T5921] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link [ 74.393066][ T5921] team0: Port device team_slave_0 added [ 74.401590][ T5921] team0: Port device team_slave_1 added [ 74.419832][ T5921] batman_adv: batadv0: Adding interface: batadv_slave_0 [ 74.427006][ T5921] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 74.453864][ T5921] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active [ 74.467938][ T5921] batman_adv: batadv0: Adding interface: batadv_slave_1 [ 74.475665][ T5921] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 74.506504][ T5921] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active [ 74.550055][ T5921] hsr_slave_0: entered promiscuous mode [ 74.556385][ T5921] hsr_slave_1: entered promiscuous mode [ 74.563175][ T5921] debugfs: Directory 'hsr0' with parent 'hsr' already present! [ 74.571330][ T5921] Cannot create hsr debugfs directory [ 76.190536][ T54] Bluetooth: hci0: command tx timeout [ 76.283977][ T35] bridge_slave_1: left allmulticast mode [ 76.290031][ T35] bridge_slave_1: left promiscuous mode [ 76.296405][ T35] bridge0: port 2(bridge_slave_1) entered disabled state [ 76.309120][ T35] bridge_slave_0: left allmulticast mode [ 76.316062][ T35] bridge_slave_0: left promiscuous mode [ 76.324122][ T35] bridge0: port 1(bridge_slave_0) entered disabled state [ 76.569827][ T35] bond0 (unregistering): (slave bond_slave_0): Releasing backup interface [ 76.583613][ T35] bond0 (unregistering): (slave bond_slave_1): Releasing backup interface [ 76.598194][ T35] bond0 (unregistering): Released all slaves [ 76.738717][ T35] hsr_slave_0: left promiscuous mode [ 76.749669][ T35] hsr_slave_1: left promiscuous mode [ 76.755476][ T35] batman_adv: batadv0: Interface deactivated: batadv_slave_0 [ 76.763278][ T35] batman_adv: batadv0: Removing interface: batadv_slave_0 [ 76.777519][ T35] batman_adv: batadv0: Interface deactivated: batadv_slave_1 [ 76.785191][ T35] batman_adv: batadv0: Removing interface: batadv_slave_1 [ 76.807789][ T35] veth1_macvtap: left promiscuous mode [ 76.815383][ T35] veth0_macvtap: left promiscuous mode [ 76.822366][ T35] veth1_vlan: left promiscuous mode [ 76.828064][ T35] veth0_vlan: left promiscuous mode [ 77.343238][ T35] team0 (unregistering): Port device team_slave_1 removed [ 77.384663][ T35] team0 (unregistering): Port device team_slave_0 removed [ 77.742446][ T5921] netdevsim netdevsim0 netdevsim0: renamed from eth0 [ 77.758137][ T5921] netdevsim netdevsim0 netdevsim1: renamed from eth1 [ 77.786232][ T5921] netdevsim netdevsim0 netdevsim2: renamed from eth2 [ 77.796540][ T5921] netdevsim netdevsim0 netdevsim3: renamed from eth3 [ 77.902957][ T5921] 8021q: adding VLAN 0 to HW filter on device bond0 [ 77.920434][ T5921] 8021q: adding VLAN 0 to HW filter on device team0 [ 77.942599][ T192] bridge0: port 1(bridge_slave_0) entered blocking state [ 77.949963][ T192] bridge0: port 1(bridge_slave_0) entered forwarding state [ 77.966676][ T1159] bridge0: port 2(bridge_slave_1) entered blocking state [ 77.973964][ T1159] bridge0: port 2(bridge_slave_1) entered forwarding state [ 78.215042][ T5921] 8021q: adding VLAN 0 to HW filter on device batadv0 [ 78.272783][ T54] Bluetooth: hci0: command tx timeout [ 78.290363][ T5921] veth0_vlan: entered promiscuous mode [ 78.301412][ T5921] veth1_vlan: entered promiscuous mode [ 78.323138][ T35] [ 78.325506][ T35] ====================================================== [ 78.331061][ T5921] veth0_macvtap: entered promiscuous mode [ 78.332515][ T35] WARNING: possible circular locking dependency detected [ 78.332537][ T35] 6.13.0-syzkaller-04046-g0ad9617c78ac #0 Not tainted [ 78.340573][ T5921] veth1_macvtap: entered promiscuous mode [ 78.345249][ T35] ------------------------------------------------------ [ 78.360617][ T5921] batman_adv: batadv0: Interface activated: batadv_slave_0 [ 78.364703][ T35] kworker/u8:2/35 is trying to acquire lock: [ 78.374205][ T5921] batman_adv: batadv0: Interface activated: batadv_slave_1 [ 78.377835][ T35] ffffffff8fcc5a88 (rtnl_mutex){+.+.}-{4:4}, at: unregister_netdevice_many_notify+0xac2/0x2030 [ 78.395567][ T35] [ 78.395567][ T35] but task is already holding lock: [ 78.402923][ T35] ffff888073ce8768 (&rdev->wiphy.mtx){+.+.}-{4:4}, at: ieee80211_remove_interfaces+0x129/0x700 [ 78.413268][ T35] [ 78.413268][ T35] which lock already depends on the new lock. [ 78.413268][ T35] [ 78.423654][ T35] [ 78.423654][ T35] the existing dependency chain (in reverse order) is: [ 78.432664][ T35] [ 78.432664][ T35] -> #1 (&rdev->wiphy.mtx){+.+.}-{4:4}: [ 78.440392][ T35] lock_acquire+0x1ed/0x550 [ 78.445498][ T35] __mutex_lock+0x19c/0x1010 [ 78.450602][ T35] wiphy_register+0x1a49/0x27b0 [ 78.455975][ T35] ieee80211_register_hw+0x354e/0x4240 [ 78.461947][ T35] mac80211_hwsim_new_radio+0x2a9f/0x4a90 [ 78.468177][ T35] init_mac80211_hwsim+0x87a/0xb00 [ 78.473821][ T35] do_one_initcall+0x248/0x870 [ 78.479114][ T35] do_initcall_level+0x157/0x210 [ 78.484674][ T35] do_initcalls+0x3f/0x80 [ 78.489528][ T35] kernel_init_freeable+0x435/0x5d0 [ 78.495243][ T35] kernel_init+0x1d/0x2b0 [ 78.500082][ T35] ret_from_fork+0x4b/0x80 [ 78.505004][ T35] ret_from_fork_asm+0x1a/0x30 [ 78.510281][ T35] [ 78.510281][ T35] -> #0 (rtnl_mutex){+.+.}-{4:4}: [ 78.517483][ T35] validate_chain+0x18ef/0x5920 [ 78.522844][ T35] __lock_acquire+0x1397/0x2100 [ 78.528199][ T35] lock_acquire+0x1ed/0x550 [ 78.533211][ T35] __mutex_lock+0x19c/0x1010 [ 78.538314][ T35] unregister_netdevice_many_notify+0xac2/0x2030 [ 78.545154][ T35] unregister_netdevice_queue+0x303/0x370 [ 78.551385][ T35] _cfg80211_unregister_wdev+0x163/0x590 [ 78.557532][ T35] ieee80211_remove_interfaces+0x4ef/0x700 [ 78.564214][ T35] ieee80211_unregister_hw+0x5d/0x2c0 [ 78.570109][ T35] mac80211_hwsim_del_radio+0x2c4/0x4c0 [ 78.576170][ T35] hwsim_exit_net+0x5c1/0x670 [ 78.581392][ T35] cleanup_net+0x812/0xd60 [ 78.586335][ T35] process_scheduled_works+0xa66/0x1840 [ 78.592393][ T35] worker_thread+0x870/0xd30 [ 78.597664][ T35] kthread+0x7a9/0x920 [ 78.602245][ T35] ret_from_fork+0x4b/0x80 [ 78.607171][ T35] ret_from_fork_asm+0x1a/0x30 [ 78.612453][ T35] [ 78.612453][ T35] other info that might help us debug this: [ 78.612453][ T35] [ 78.622927][ T35] Possible unsafe locking scenario: [ 78.622927][ T35] [ 78.630363][ T35] CPU0 CPU1 [ 78.635713][ T35] ---- ---- [ 78.641071][ T35] lock(&rdev->wiphy.mtx); [ 78.645577][ T35] lock(rtnl_mutex); [ 78.652068][ T35] lock(&rdev->wiphy.mtx); [ 78.659086][ T35] lock(rtnl_mutex); [ 78.663063][ T35] [ 78.663063][ T35] *** DEADLOCK *** [ 78.663063][ T35] [ 78.671283][ T35] 4 locks held by kworker/u8:2/35: [ 78.676374][ T35] #0: ffff88801baf5948 ((wq_completion)netns){+.+.}-{0:0}, at: process_scheduled_works+0x93b/0x1840 [ 78.687243][ T35] #1: ffffc90000ab7c60 (net_cleanup_work){+.+.}-{0:0}, at: process_scheduled_works+0x976/0x1840 [ 78.697846][ T35] #2: ffffffff8fcb94d0 (pernet_ops_rwsem){++++}-{4:4}, at: cleanup_net+0x17a/0xd60 [ 78.707330][ T35] #3: ffff888073ce8768 (&rdev->wiphy.mtx){+.+.}-{4:4}, at: ieee80211_remove_interfaces+0x129/0x700 [ 78.718260][ T35] [ 78.718260][ T35] stack backtrace: [ 78.724152][ T35] CPU: 0 UID: 0 PID: 35 Comm: kworker/u8:2 Not tainted 6.13.0-syzkaller-04046-g0ad9617c78ac #0 [ 78.724167][ T35] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 12/27/2024 [ 78.724176][ T35] Workqueue: netns cleanup_net [ 78.724196][ T35] Call Trace: [ 78.724203][ T35] [ 78.724209][ T35] dump_stack_lvl+0x241/0x360 [ 78.724228][ T35] ? __pfx_dump_stack_lvl+0x10/0x10 [ 78.724244][ T35] ? __pfx__printk+0x10/0x10 [ 78.724263][ T35] print_circular_bug+0x13a/0x1b0 [ 78.724282][ T35] check_noncircular+0x36a/0x4a0 [ 78.724300][ T35] ? __pfx_check_noncircular+0x10/0x10 [ 78.724317][ T35] ? lockdep_lock+0x123/0x2b0 [ 78.724333][ T35] validate_chain+0x18ef/0x5920 [ 78.724356][ T35] ? __pfx_validate_chain+0x10/0x10 [ 78.724375][ T35] ? mark_lock+0x9a/0x360 [ 78.724391][ T35] ? __lock_acquire+0x1397/0x2100 [ 78.724409][ T35] ? mark_lock+0x9a/0x360 [ 78.724425][ T35] __lock_acquire+0x1397/0x2100 [ 78.724443][ T35] lock_acquire+0x1ed/0x550 [ 78.724457][ T35] ? unregister_netdevice_many_notify+0xac2/0x2030 [ 78.724475][ T35] ? __pfx_lock_acquire+0x10/0x10 [ 78.724490][ T35] ? __pfx___might_resched+0x10/0x10 [ 78.724504][ T35] ? finish_wait+0xd4/0x1e0 [ 78.724520][ T35] __mutex_lock+0x19c/0x1010 [ 78.724537][ T35] ? unregister_netdevice_many_notify+0xac2/0x2030 [ 78.724556][ T35] ? unregister_netdevice_many_notify+0xac2/0x2030 [ 78.724571][ T35] ? __pfx___mutex_lock+0x10/0x10 [ 78.724588][ T35] ? __pfx___might_resched+0x10/0x10 [ 78.724601][ T35] ? unregister_netdevice_many_notify+0x9fa/0x2030 [ 78.724617][ T35] ? unregister_netdevice_many_notify+0x9fa/0x2030 [ 78.724633][ T35] unregister_netdevice_many_notify+0xac2/0x2030 [ 78.724648][ T35] ? mark_lock+0x9a/0x360 [ 78.724666][ T35] ? __pfx_unregister_netdevice_many_notify+0x10/0x10 [ 78.724681][ T35] ? kernfs_remove_by_name_ns+0x11b/0x160 [ 78.724698][ T35] ? __pfx_lock_release+0x10/0x10 [ 78.724718][ T35] unregister_netdevice_queue+0x303/0x370 [ 78.724732][ T35] ? __pfx_up_write+0x10/0x10 [ 78.724743][ T35] ? __pfx_unregister_netdevice_queue+0x10/0x10 [ 78.724758][ T35] ? kernfs_remove_by_name_ns+0x11b/0x160 [ 78.724775][ T35] _cfg80211_unregister_wdev+0x163/0x590 [ 78.724799][ T35] ieee80211_remove_interfaces+0x4ef/0x700 [ 78.724815][ T35] ? __pfx_ieee80211_remove_interfaces+0x10/0x10 [ 78.724829][ T35] ? rcu_is_watching+0x15/0xb0 [ 78.724848][ T35] ieee80211_unregister_hw+0x5d/0x2c0 [ 78.724861][ T35] mac80211_hwsim_del_radio+0x2c4/0x4c0 [ 78.724879][ T35] ? __pfx_mac80211_hwsim_del_radio+0x10/0x10 [ 78.724896][ T35] hwsim_exit_net+0x5c1/0x670 [ 78.724910][ T35] ? __pfx_hwsim_exit_net+0x10/0x10 [ 78.724923][ T35] ? __ip_vs_dev_cleanup_batch+0x239/0x260 [ 78.724942][ T35] cleanup_net+0x812/0xd60 [ 78.724955][ T35] ? __pfx_cleanup_net+0x10/0x10 [ 78.724968][ T35] ? process_scheduled_works+0x976/0x1840 [ 78.724982][ T35] process_scheduled_works+0xa66/0x1840 [ 78.725002][ T35] ? __pfx_process_scheduled_works+0x10/0x10 [ 78.725016][ T35] ? assign_work+0x364/0x3d0 [ 78.725029][ T35] worker_thread+0x870/0xd30 [ 78.725046][ T35] ? __kthread_parkme+0x169/0x1d0 [ 78.725061][ T35] ? __pfx_worker_thread+0x10/0x10 [ 78.725073][ T35] kthread+0x7a9/0x920 [ 78.725087][ T35] ? __pfx_kthread+0x10/0x10 [ 78.725102][ T35] ? __pfx_worker_thread+0x10/0x10 [ 78.725114][ T35] ? __pfx_kthread+0x10/0x10 [ 78.725127][ T35] ? __pfx_kthread+0x10/0x10 [ 78.725142][ T35] ? __pfx_kthread+0x10/0x10 [ 78.725156][ T35] ? _raw_spin_unlock_irq+0x23/0x50 [ 78.725170][ T35] ? lockdep_hardirqs_on+0x99/0x150 [ 78.725186][ T35] ? __pfx_kthread+0x10/0x10 [ 78.725200][ T35] ret_from_fork+0x4b/0x80 [ 78.725214][ T35] ? __pfx_kthread+0x10/0x10 [ 78.725228][ T35] ret_from_fork_asm+0x1a/0x30 [ 78.725244][ T35] [ 78.738656][ T5921] netdevsim netdevsim0 netdevsim0: set [1, 0] type 2 family 0 port 6081 - 0 [ 79.109465][ T5921] netdevsim netdevsim0 netdevsim1: set [1, 0] type 2 family 0 port 6081 - 0 [ 79.118805][ T5921] netdevsim netdevsim0 netdevsim2: set [1, 0] type 2 family 0 port 6081 - 0 [ 79.127576][ T5921] netdevsim netdevsim0 netdevsim3: set [1, 0] type 2 family 0 port 6081 - 0 [ 79.162955][ T5921] ieee80211 phy5: Selected rate control algorithm 'minstrel_ht' [ 79.178199][ T52] wlan0: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 [ 79.180233][ T5921] ieee80211 phy6: Selected rate control algorithm 'minstrel_ht' [ 79.190342][ T52] wlan0: Creating new IBSS network, BSSID 50:50:50:50:50:50 [ 79.220339][ T3564] wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 [ 79.228540][ T3564] wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50 syzkaller build log: go env (err=) GO111MODULE='auto' GOARCH='amd64' GOBIN='' GOCACHE='/syzkaller/.cache/go-build' GOENV='/syzkaller/.config/go/env' GOEXE='' GOEXPERIMENT='' GOFLAGS='' GOHOSTARCH='amd64' GOHOSTOS='linux' GOINSECURE='' GOMODCACHE='/syzkaller/jobs-2/linux/gopath/pkg/mod' GONOPROXY='' GONOSUMDB='' GOOS='linux' GOPATH='/syzkaller/jobs-2/linux/gopath' GOPRIVATE='' GOPROXY='https://proxy.golang.org,direct' GOROOT='/usr/local/go' GOSUMDB='sum.golang.org' GOTMPDIR='' GOTOOLCHAIN='auto' GOTOOLDIR='/usr/local/go/pkg/tool/linux_amd64' GOVCS='' GOVERSION='go1.22.7' GCCGO='gccgo' GOAMD64='v1' AR='ar' CC='gcc' CXX='g++' CGO_ENABLED='1' GOMOD='/syzkaller/jobs-2/linux/gopath/src/github.com/google/syzkaller/go.mod' GOWORK='' CGO_CFLAGS='-O2 -g' CGO_CPPFLAGS='' CGO_CXXFLAGS='-O2 -g' CGO_FFLAGS='-O2 -g' CGO_LDFLAGS='-O2 -g' PKG_CONFIG='pkg-config' GOGCCFLAGS='-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=/tmp/go-build3979887764=/tmp/go-build -gno-record-gcc-switches' git status (err=) HEAD detached at e8709b21d7 nothing to commit, working tree clean tput: No value for $TERM and no -T specified tput: No value for $TERM and no -T specified Makefile:31: run command via tools/syz-env for best compatibility, see: Makefile:32: https://github.com/google/syzkaller/blob/master/docs/contributing.md#using-syz-env go list -f '{{.Stale}}' ./sys/syz-sysgen | grep -q false || go install ./sys/syz-sysgen make .descriptions tput: No value for $TERM and no -T specified tput: No value for $TERM and no -T specified Makefile:31: run command via tools/syz-env for best compatibility, see: Makefile:32: https://github.com/google/syzkaller/blob/master/docs/contributing.md#using-syz-env bin/syz-sysgen go fmt ./sys/... >/dev/null touch .descriptions GOOS=linux GOARCH=amd64 go build "-ldflags=-s -w -X github.com/google/syzkaller/prog.GitRevision=e8709b21d7c474a0fb6b8ff13039702865fd83bb -X 'github.com/google/syzkaller/prog.gitRevisionDate=20240715-154907'" "-tags=syz_target syz_os_linux syz_arch_amd64 " -o ./bin/linux_amd64/syz-execprog github.com/google/syzkaller/tools/syz-execprog mkdir -p ./bin/linux_amd64 g++ -o ./bin/linux_amd64/syz-executor executor/executor.cc \ -m64 -O2 -pthread -Wall -Werror -Wparentheses -Wunused-const-variable -Wframe-larger-than=16384 -Wno-stringop-overflow -Wno-array-bounds -Wno-format-overflow -Wno-unused-but-set-variable -Wno-unused-command-line-argument -static-pie -std=c++17 -I. -Iexecutor/_include -fpermissive -w -DGOOS_linux=1 -DGOARCH_amd64=1 \ -DHOSTGOOS_linux=1 -DGIT_REVISION=\"e8709b21d7c474a0fb6b8ff13039702865fd83bb\" /usr/bin/ld: /tmp/ccpqkfHj.o: in function `test_cover_filter()': executor.cc:(.text+0x133bb): warning: the use of `tempnam' is dangerous, better use `mkstemp' /usr/bin/ld: /tmp/ccpqkfHj.o: in function `Connection::Connect(char const*, char const*)': executor.cc:(.text._ZN10Connection7ConnectEPKcS1_[_ZN10Connection7ConnectEPKcS1_]+0x1a0): warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking