[ 24.483195][ T328] ip (328) used greatest stack depth: 24288 bytes left [ 31.161010][ T69] [ 31.161129][ T69] ============================================ [ 31.161315][ T69] WARNING: possible recursive locking detected [ 31.161499][ T69] 6.13.0-rc5-virtme #1 Not tainted [ 31.161696][ T69] -------------------------------------------- [ 31.161892][ T69] kworker/u16:1/69 is trying to acquire lock: [ 31.162066][ T69] ffffffff85bdfc30 ((netdev_chain).rwsem){++++}-{4:4}, at: blocking_notifier_call_chain+0x50/0x90 [ 31.162363][ T69] [ 31.162363][ T69] but task is already holding lock: [ 31.162605][ T69] ffffffff85bdfc30 ((netdev_chain).rwsem){++++}-{4:4}, at: blocking_notifier_call_chain+0x50/0x90 [ 31.162962][ T69] [ 31.162962][ T69] other info that might help us debug this: [ 31.163217][ T69] Possible unsafe locking scenario: [ 31.163217][ T69] [ 31.163483][ T69] CPU0 [ 31.163659][ T69] ---- [ 31.163824][ T69] lock((netdev_chain).rwsem); [ 31.164029][ T69] lock((netdev_chain).rwsem); [ 31.164250][ T69] [ 31.164250][ T69] *** DEADLOCK *** [ 31.164250][ T69] [ 31.164579][ T69] May be due to missing lock nesting notation [ 31.164579][ T69] [ 31.164904][ T69] 5 locks held by kworker/u16:1/69: [ 31.165072][ T69] #0: ffff8880010ad948 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work+0x7ec/0x16d0 [ 31.165374][ T69] #1: ffffc900004a7da0 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work+0xe0b/0x16d0 [ 31.165650][ T69] #2: ffffffff85bd5690 (pernet_ops_rwsem){++++}-{4:4}, at: cleanup_net+0xbc/0xa50 [ 31.165931][ T69] #3: ffffffff85bf1088 (rtnl_mutex){+.+.}-{4:4}, at: default_device_exit_batch+0x81/0x2e0 [ 31.166215][ T69] #4: ffffffff85bdfc30 ((netdev_chain).rwsem){++++}-{4:4}, at: blocking_notifier_call_chain+0x50/0x90 [ 31.166498][ T69] [ 31.166498][ T69] stack backtrace: [ 31.166683][ T69] CPU: 1 UID: 0 PID: 69 Comm: kworker/u16:1 Not tainted 6.13.0-rc5-virtme #1 [ 31.166933][ T69] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 31.167111][ T69] Workqueue: netns cleanup_net [ 31.167262][ T69] Call Trace: [ 31.167369][ T69] [ 31.167443][ T69] dump_stack_lvl+0x82/0xd0 [ 31.167592][ T69] print_deadlock_bug+0x40a/0x650 [ 31.167747][ T69] validate_chain+0x5bf/0xae0 [ 31.167895][ T69] ? __pfx_validate_chain+0x10/0x10 [ 31.168038][ T69] ? hlock_class+0x4e/0x130 [ 31.168181][ T69] ? mark_lock+0x38/0x3e0 [ 31.168290][ T69] __lock_acquire+0xb9a/0x1680 [ 31.168435][ T69] lock_acquire.part.0+0xeb/0x330 [ 31.168576][ T69] ? blocking_notifier_call_chain+0x50/0x90 [ 31.168779][ T69] ? __lock_acquire+0xb9a/0x1680 [ 31.168941][ T69] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 31.169114][ T69] ? trace_lock_acquire+0x14c/0x1f0 [ 31.169259][ T69] ? lock_acquire+0x32/0xc0 [ 31.169403][ T69] ? blocking_notifier_call_chain+0x50/0x90 [ 31.169582][ T69] down_read+0x9f/0x340 [ 31.169745][ T69] ? blocking_notifier_call_chain+0x50/0x90 [ 31.169928][ T69] ? __pfx_down_read+0x10/0x10 [ 31.170070][ T69] ? __lock_release+0x103/0x460 [ 31.170219][ T69] blocking_notifier_call_chain+0x50/0x90 [ 31.170364][ T69] __netdev_upper_dev_unlink+0xd9/0x220 [ 31.170508][ T69] ? mark_held_locks+0x9e/0xe0 [ 31.170657][ T69] ? __pfx___netdev_upper_dev_unlink+0x10/0x10 [ 31.170834][ T69] ? lockdep_hardirqs_on_prepare+0x275/0x410 [ 31.171012][ T69] ? __try_to_del_timer_sync+0xe7/0x140 [ 31.171154][ T69] ? __pfx___try_to_del_timer_sync+0x10/0x10 [ 31.171335][ T69] ? mark_held_locks+0x9e/0xe0 [ 31.171478][ T69] netdev_upper_dev_unlink+0x71/0xa0 [ 31.171627][ T69] ? __pfx_netdev_upper_dev_unlink+0x10/0x10 [ 31.171806][ T69] ? mutex_is_locked+0x1c/0x60 [ 31.171949][ T69] ? rtnl_is_locked+0x15/0x20 [ 31.172095][ T69] ? netdev_master_upper_dev_get+0x13/0x120 [ 31.172273][ T69] vrf_device_event+0x78/0xe0 [ 31.172420][ T69] notifier_call_chain+0xcd/0x150 [ 31.172581][ T69] blocking_notifier_call_chain+0x66/0x90 [ 31.172752][ T69] unregister_netdevice_many_notify+0xa7b/0x1580 [ 31.172932][ T69] ? __pfx_unregister_netdevice_many_notify+0x10/0x10 [ 31.173113][ T69] ? default_device_exit_batch+0x81/0x2e0 [ 31.173257][ T69] ? rtnl_is_locked+0x15/0x20 [ 31.173412][ T69] ? unregister_netdevice_queue+0x70/0x410 [ 31.173593][ T69] ? __pfx_unregister_netdevice_queue+0x10/0x10 [ 31.173787][ T69] ? __pfx_unregister_netdevice_queue+0x10/0x10 [ 31.173968][ T69] default_device_exit_batch+0x241/0x2e0 [ 31.174109][ T69] ? __pfx_default_device_exit_batch+0x10/0x10 [ 31.174287][ T69] ? mutex_is_locked+0x1c/0x60 [ 31.174456][ T69] ? nexthop_net_exit_batch_rtnl+0x83/0x210 [ 31.174673][ T69] cleanup_net+0x4ef/0xa50 [ 31.174820][ T69] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 31.174982][ T69] ? __pfx_cleanup_net+0x10/0x10 [ 31.175148][ T69] ? trace_lock_acquire+0x14c/0x1f0 [ 31.175333][ T69] ? lock_acquire+0x32/0xc0 [ 31.175509][ T69] ? process_one_work+0xe0b/0x16d0 [ 31.175700][ T69] process_one_work+0xe55/0x16d0 [ 31.175937][ T69] ? __pfx___lock_release+0x10/0x10 [ 31.176168][ T69] ? __pfx_process_one_work+0x10/0x10 [ 31.176399][ T69] ? assign_work+0x16c/0x240 [ 31.176626][ T69] worker_thread+0x58c/0xce0 [ 31.176851][ T69] ? lockdep_hardirqs_on_prepare+0x275/0x410 [ 31.177127][ T69] ? __pfx_worker_thread+0x10/0x10 [ 31.177340][ T69] ? __pfx_worker_thread+0x10/0x10 [ 31.177572][ T69] kthread+0x28a/0x350 [ 31.177740][ T69] ? __pfx_kthread+0x10/0x10 [ 31.177964][ T69] ret_from_fork+0x31/0x70 [ 31.178185][ T69] ? __pfx_kthread+0x10/0x10 [ 31.178405][ T69] ret_from_fork_asm+0x1a/0x30 [ 31.178634][ T69]