[ 94.691696][ T66] [ 94.691809][ T66] ============================================ [ 94.691982][ T66] WARNING: possible recursive locking detected [ 94.692150][ T66] 6.13.0-rc5-virtme #1 Not tainted [ 94.692295][ T66] -------------------------------------------- [ 94.692467][ T66] kworker/u16:1/66 is trying to acquire lock: [ 94.692643][ T66] ffffffff911f6a70 ((netdev_chain).rwsem){++++}-{4:4}, at: blocking_notifier_call_chain+0x50/0x90 [ 94.692938][ T66] [ 94.692938][ T66] but task is already holding lock: [ 94.693155][ T66] ffffffff911f6a70 ((netdev_chain).rwsem){++++}-{4:4}, at: blocking_notifier_call_chain+0x50/0x90 [ 94.693435][ T66] [ 94.693435][ T66] other info that might help us debug this: [ 94.693636][ T66] Possible unsafe locking scenario: [ 94.693636][ T66] [ 94.693833][ T66] CPU0 [ 94.693935][ T66] ---- [ 94.694035][ T66] lock((netdev_chain).rwsem); [ 94.694171][ T66] lock((netdev_chain).rwsem); [ 94.694306][ T66] [ 94.694306][ T66] *** DEADLOCK *** [ 94.694306][ T66] [ 94.694506][ T66] May be due to missing lock nesting notation [ 94.694506][ T66] [ 94.694706][ T66] 5 locks held by kworker/u16:1/66: [ 94.694842][ T66] #0: ffff8880010b5948 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work+0x7ec/0x16d0 [ 94.695120][ T66] #1: ffffc90000477da0 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work+0xe0b/0x16d0 [ 94.695364][ T66] #2: ffffffff911ec4d0 (pernet_ops_rwsem){++++}-{4:4}, at: cleanup_net+0xbc/0xba0 [ 94.695604][ T66] #3: ffffffff91207e88 (rtnl_mutex){+.+.}-{4:4}, at: default_device_exit_batch+0x81/0x2e0 [ 94.695888][ T66] #4: ffffffff911f6a70 ((netdev_chain).rwsem){++++}-{4:4}, at: blocking_notifier_call_chain+0x50/0x90 [ 94.696167][ T66] [ 94.696167][ T66] stack backtrace: [ 94.696334][ T66] CPU: 3 UID: 0 PID: 66 Comm: kworker/u16:1 Not tainted 6.13.0-rc5-virtme #1 [ 94.696577][ T66] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 94.696751][ T66] Workqueue: netns cleanup_net [ 94.696897][ T66] Call Trace: [ 94.697003][ T66] [ 94.697076][ T66] dump_stack_lvl+0x82/0xd0 [ 94.697216][ T66] print_deadlock_bug+0x40a/0x650 [ 94.697356][ T66] validate_chain+0x5bf/0xae0 [ 94.697497][ T66] ? __pfx_validate_chain+0x10/0x10 [ 94.697639][ T66] ? hlock_class+0x4e/0x130 [ 94.697775][ T66] ? mark_lock+0x38/0x3e0 [ 94.697879][ T66] __lock_acquire+0xb9a/0x1680 [ 94.698023][ T66] lock_acquire.part.0+0xeb/0x330 [ 94.698161][ T66] ? blocking_notifier_call_chain+0x50/0x90 [ 94.698329][ T66] ? __lock_acquire+0xb9a/0x1680 [ 94.698464][ T66] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 94.698602][ T66] ? trace_lock_acquire+0x14c/0x1f0 [ 94.698740][ T66] ? lock_acquire+0x32/0xc0 [ 94.698875][ T66] ? blocking_notifier_call_chain+0x50/0x90 [ 94.699047][ T66] down_read+0x9f/0x340 [ 94.699154][ T66] ? blocking_notifier_call_chain+0x50/0x90 [ 94.699324][ T66] ? __pfx_down_read+0x10/0x10 [ 94.699461][ T66] ? __lock_release+0x103/0x460 [ 94.699601][ T66] blocking_notifier_call_chain+0x50/0x90 [ 94.699743][ T66] __netdev_upper_dev_unlink+0xd9/0x220 [ 94.699880][ T66] ? mark_held_locks+0x9e/0xe0 [ 94.700015][ T66] ? __pfx___netdev_upper_dev_unlink+0x10/0x10 [ 94.700186][ T66] ? lockdep_hardirqs_on_prepare+0x275/0x410 [ 94.700353][ T66] ? __try_to_del_timer_sync+0xe7/0x140 [ 94.700493][ T66] ? __pfx___try_to_del_timer_sync+0x10/0x10 [ 94.700663][ T66] ? mark_held_locks+0x9e/0xe0 [ 94.700804][ T66] netdev_upper_dev_unlink+0x71/0xa0 [ 94.700941][ T66] ? __pfx_netdev_upper_dev_unlink+0x10/0x10 [ 94.701111][ T66] ? mutex_is_locked+0x1c/0x60 [ 94.701251][ T66] ? rtnl_is_locked+0x15/0x20 [ 94.701389][ T66] ? netdev_master_upper_dev_get+0x13/0x120 [ 94.701560][ T66] vrf_device_event+0x78/0xe0 [ 94.701697][ T66] notifier_call_chain+0xcd/0x150 [ 94.701838][ T66] blocking_notifier_call_chain+0x66/0x90 [ 94.701979][ T66] unregister_netdevice_many_notify+0xa83/0x1580 [ 94.702149][ T66] ? __pfx_unregister_netdevice_many_notify+0x10/0x10 [ 94.702317][ T66] ? default_device_exit_batch+0x81/0x2e0 [ 94.702465][ T66] ? rtnl_is_locked+0x15/0x20 [ 94.702600][ T66] ? unregister_netdevice_queue+0x70/0x410 [ 94.702775][ T66] ? __pfx_unregister_netdevice_queue+0x10/0x10 [ 94.702945][ T66] ? __pfx_unregister_netdevice_queue+0x10/0x10 [ 94.703116][ T66] default_device_exit_batch+0x241/0x2e0 [ 94.703253][ T66] ? __pfx_default_device_exit_batch+0x10/0x10 [ 94.703431][ T66] ? ops_exit_list+0xb4/0x170 [ 94.703571][ T66] cleanup_net+0x4ef/0xba0 [ 94.703708][ T66] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 94.703845][ T66] ? __pfx_cleanup_net+0x10/0x10 [ 94.703982][ T66] ? trace_lock_acquire+0x14c/0x1f0 [ 94.704120][ T66] ? lock_acquire+0x32/0xc0 [ 94.704257][ T66] ? process_one_work+0xe0b/0x16d0 [ 94.704399][ T66] process_one_work+0xe55/0x16d0 [ 94.704537][ T66] ? __pfx___lock_release+0x10/0x10 [ 94.704674][ T66] ? __pfx_process_one_work+0x10/0x10 [ 94.704811][ T66] ? assign_work+0x16c/0x240 [ 94.704951][ T66] worker_thread+0x58c/0xce0 [ 94.705089][ T66] ? lockdep_hardirqs_on_prepare+0x275/0x410 [ 94.705262][ T66] ? __pfx_worker_thread+0x10/0x10 [ 94.705405][ T66] ? __pfx_worker_thread+0x10/0x10 [ 94.705542][ T66] kthread+0x28a/0x350 [ 94.705649][ T66] ? __pfx_kthread+0x10/0x10 [ 94.705789][ T66] ret_from_fork+0x31/0x70 [ 94.705929][ T66] ? __pfx_kthread+0x10/0x10 [ 94.706066][ T66] ret_from_fork_asm+0x1a/0x30 [ 94.706209][ T66]