[ 92.823221][ T66] [ 92.823341][ T66] ============================================ [ 92.823530][ T66] WARNING: possible recursive locking detected [ 92.823708][ T66] 6.13.0-rc5-virtme #1 Not tainted [ 92.823850][ T66] -------------------------------------------- [ 92.824029][ T66] kworker/u16:1/66 is trying to acquire lock: [ 92.824209][ T66] ffffffffb8bf6a70 ((netdev_chain).rwsem){++++}-{4:4}, at: blocking_notifier_call_chain+0x50/0x90 [ 92.824516][ T66] [ 92.824516][ T66] but task is already holding lock: [ 92.824723][ T66] ffffffffb8bf6a70 ((netdev_chain).rwsem){++++}-{4:4}, at: blocking_notifier_call_chain+0x50/0x90 [ 92.825018][ T66] [ 92.825018][ T66] other info that might help us debug this: [ 92.825240][ T66] Possible unsafe locking scenario: [ 92.825240][ T66] [ 92.825455][ T66] CPU0 [ 92.825561][ T66] ---- [ 92.825669][ T66] lock((netdev_chain).rwsem); [ 92.825816][ T66] lock((netdev_chain).rwsem); [ 92.825961][ T66] [ 92.825961][ T66] *** DEADLOCK *** [ 92.825961][ T66] [ 92.826168][ T66] May be due to missing lock nesting notation [ 92.826168][ T66] [ 92.826388][ T66] 5 locks held by kworker/u16:1/66: [ 92.826531][ T66] #0: ffff8880010b5948 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work+0x7ec/0x16d0 [ 92.826834][ T66] #1: ffffc90000477da0 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work+0xe0b/0x16d0 [ 92.827099][ T66] #2: ffffffffb8bec4d0 (pernet_ops_rwsem){++++}-{4:4}, at: cleanup_net+0xbc/0xba0 [ 92.827365][ T66] #3: ffffffffb8c07e88 (rtnl_mutex){+.+.}-{4:4}, at: default_device_exit_batch+0x81/0x2e0 [ 92.827664][ T66] #4: ffffffffb8bf6a70 ((netdev_chain).rwsem){++++}-{4:4}, at: blocking_notifier_call_chain+0x50/0x90 [ 92.827963][ T66] [ 92.827963][ T66] stack backtrace: [ 92.828146][ T66] CPU: 0 UID: 0 PID: 66 Comm: kworker/u16:1 Not tainted 6.13.0-rc5-virtme #1 [ 92.828395][ T66] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 92.828586][ T66] Workqueue: netns cleanup_net [ 92.828740][ T66] Call Trace: [ 92.828852][ T66] [ 92.828928][ T66] dump_stack_lvl+0x82/0xd0 [ 92.829077][ T66] print_deadlock_bug+0x40a/0x650 [ 92.829228][ T66] validate_chain+0x5bf/0xae0 [ 92.829374][ T66] ? __pfx_validate_chain+0x10/0x10 [ 92.829520][ T66] ? hlock_class+0x4e/0x130 [ 92.829663][ T66] ? mark_lock+0x38/0x3e0 [ 92.829780][ T66] __lock_acquire+0xb9a/0x1680 [ 92.829928][ T66] lock_acquire.part.0+0xeb/0x330 [ 92.830072][ T66] ? blocking_notifier_call_chain+0x50/0x90 [ 92.830253][ T66] ? __lock_acquire+0xb9a/0x1680 [ 92.830398][ T66] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 92.830543][ T66] ? trace_lock_acquire+0x14c/0x1f0 [ 92.830687][ T66] ? lock_acquire+0x32/0xc0 [ 92.830832][ T66] ? blocking_notifier_call_chain+0x50/0x90 [ 92.831013][ T66] down_read+0x9f/0x340 [ 92.831124][ T66] ? blocking_notifier_call_chain+0x50/0x90 [ 92.831317][ T66] ? __pfx_down_read+0x10/0x10 [ 92.831464][ T66] ? __lock_release+0x103/0x460 [ 92.831606][ T66] blocking_notifier_call_chain+0x50/0x90 [ 92.831752][ T66] __netdev_upper_dev_unlink+0xd9/0x220 [ 92.831896][ T66] ? mark_held_locks+0x9e/0xe0 [ 92.832039][ T66] ? __pfx___netdev_upper_dev_unlink+0x10/0x10 [ 92.832215][ T66] ? lockdep_hardirqs_on_prepare+0x275/0x410 [ 92.832395][ T66] ? __try_to_del_timer_sync+0xe7/0x140 [ 92.832538][ T66] ? __pfx___try_to_del_timer_sync+0x10/0x10 [ 92.832711][ T66] ? mark_held_locks+0x9e/0xe0 [ 92.832853][ T66] netdev_upper_dev_unlink+0x71/0xa0 [ 92.832992][ T66] ? __pfx_netdev_upper_dev_unlink+0x10/0x10 [ 92.833181][ T66] ? mutex_is_locked+0x1c/0x60 [ 92.833323][ T66] ? rtnl_is_locked+0x15/0x20 [ 92.833469][ T66] ? netdev_master_upper_dev_get+0x13/0x120 [ 92.833640][ T66] vrf_device_event+0x78/0xe0 [ 92.833782][ T66] notifier_call_chain+0xcd/0x150 [ 92.833926][ T66] blocking_notifier_call_chain+0x66/0x90 [ 92.834066][ T66] unregister_netdevice_many_notify+0xa83/0x1580 [ 92.834241][ T66] ? __pfx_unregister_netdevice_many_notify+0x10/0x10 [ 92.834423][ T66] ? default_device_exit_batch+0x81/0x2e0 [ 92.834569][ T66] ? rtnl_is_locked+0x15/0x20 [ 92.834708][ T66] ? unregister_netdevice_queue+0x70/0x410 [ 92.834877][ T66] ? __pfx_unregister_netdevice_queue+0x10/0x10 [ 92.835050][ T66] ? __pfx_unregister_netdevice_queue+0x10/0x10 [ 92.835230][ T66] default_device_exit_batch+0x241/0x2e0 [ 92.835368][ T66] ? __pfx_default_device_exit_batch+0x10/0x10 [ 92.835545][ T66] ? ops_exit_list+0xb4/0x170 [ 92.835689][ T66] cleanup_net+0x4ef/0xba0 [ 92.835828][ T66] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 92.835966][ T66] ? __pfx_cleanup_net+0x10/0x10 [ 92.836102][ T66] ? trace_lock_acquire+0x14c/0x1f0 [ 92.836242][ T66] ? lock_acquire+0x32/0xc0 [ 92.836378][ T66] ? process_one_work+0xe0b/0x16d0 [ 92.836524][ T66] process_one_work+0xe55/0x16d0 [ 92.836670][ T66] ? __pfx___lock_release+0x10/0x10 [ 92.836813][ T66] ? __pfx_process_one_work+0x10/0x10 [ 92.836953][ T66] ? assign_work+0x16c/0x240 [ 92.837098][ T66] worker_thread+0x58c/0xce0 [ 92.837250][ T66] ? lockdep_hardirqs_on_prepare+0x275/0x410 [ 92.837426][ T66] ? __pfx_worker_thread+0x10/0x10 [ 92.837566][ T66] ? __pfx_worker_thread+0x10/0x10 [ 92.837707][ T66] kthread+0x28a/0x350 [ 92.837816][ T66] ? __pfx_kthread+0x10/0x10 [ 92.837957][ T66] ret_from_fork+0x31/0x70 [ 92.838101][ T66] ? __pfx_kthread+0x10/0x10 [ 92.838246][ T66] ret_from_fork_asm+0x1a/0x30 [ 92.838390][ T66]