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