[ 57.118800][ T67] [ 57.118917][ T67] ============================================ [ 57.119101][ T67] WARNING: possible recursive locking detected [ 57.119277][ T67] 6.13.0-rc5-virtme #1 Not tainted [ 57.119424][ T67] -------------------------------------------- [ 57.119608][ T67] kworker/u16:1/67 is trying to acquire lock: [ 57.119781][ T67] ffffffff9cddfc30 ((netdev_chain).rwsem){++++}-{4:4}, at: blocking_notifier_call_chain+0x50/0x90 [ 57.120080][ T67] [ 57.120080][ T67] but task is already holding lock: [ 57.120293][ T67] ffffffff9cddfc30 ((netdev_chain).rwsem){++++}-{4:4}, at: blocking_notifier_call_chain+0x50/0x90 [ 57.120590][ T67] [ 57.120590][ T67] other info that might help us debug this: [ 57.120802][ T67] Possible unsafe locking scenario: [ 57.120802][ T67] [ 57.121007][ T67] CPU0 [ 57.121107][ T67] ---- [ 57.121210][ T67] lock((netdev_chain).rwsem); [ 57.121349][ T67] lock((netdev_chain).rwsem); [ 57.121490][ T67] [ 57.121490][ T67] *** DEADLOCK *** [ 57.121490][ T67] [ 57.121702][ T67] May be due to missing lock nesting notation [ 57.121702][ T67] [ 57.121906][ T67] 5 locks held by kworker/u16:1/67: [ 57.122046][ T67] #0: ffff8880010ad948 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work+0x7ec/0x16d0 [ 57.122330][ T67] #1: ffffc90000487da0 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work+0xe0b/0x16d0 [ 57.122575][ T67] #2: ffffffff9cdd5690 (pernet_ops_rwsem){++++}-{4:4}, at: cleanup_net+0xbc/0xa50 [ 57.122828][ T67] #3: ffffffff9cdf1088 (rtnl_mutex){+.+.}-{4:4}, at: default_device_exit_batch+0x81/0x2e0 [ 57.123105][ T67] #4: ffffffff9cddfc30 ((netdev_chain).rwsem){++++}-{4:4}, at: blocking_notifier_call_chain+0x50/0x90 [ 57.123387][ T67] [ 57.123387][ T67] stack backtrace: [ 57.123567][ T67] CPU: 2 UID: 0 PID: 67 Comm: kworker/u16:1 Not tainted 6.13.0-rc5-virtme #1 [ 57.123864][ T67] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 57.124053][ T67] Workqueue: netns cleanup_net [ 57.124198][ T67] Call Trace: [ 57.124324][ T67] [ 57.124412][ T67] dump_stack_lvl+0x82/0xd0 [ 57.124565][ T67] print_deadlock_bug+0x40a/0x650 [ 57.124709][ T67] validate_chain+0x5bf/0xae0 [ 57.124866][ T67] ? __pfx_validate_chain+0x10/0x10 [ 57.125011][ T67] ? hlock_class+0x4e/0x130 [ 57.125153][ T67] ? mark_lock+0x38/0x3e0 [ 57.125258][ T67] __lock_acquire+0xb9a/0x1680 [ 57.125402][ T67] lock_acquire.part.0+0xeb/0x330 [ 57.125544][ T67] ? blocking_notifier_call_chain+0x50/0x90 [ 57.125719][ T67] ? __lock_acquire+0xb9a/0x1680 [ 57.125864][ T67] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 57.126012][ T67] ? trace_lock_acquire+0x14c/0x1f0 [ 57.126163][ T67] ? lock_acquire+0x32/0xc0 [ 57.126304][ T67] ? blocking_notifier_call_chain+0x50/0x90 [ 57.126490][ T67] down_read+0x9f/0x340 [ 57.126608][ T67] ? blocking_notifier_call_chain+0x50/0x90 [ 57.126790][ T67] ? __pfx_down_read+0x10/0x10 [ 57.126942][ T67] ? __lock_release+0x103/0x460 [ 57.127090][ T67] blocking_notifier_call_chain+0x50/0x90 [ 57.127239][ T67] __netdev_upper_dev_unlink+0xd9/0x220 [ 57.127389][ T67] ? mark_held_locks+0x9e/0xe0 [ 57.127536][ T67] ? __pfx___netdev_upper_dev_unlink+0x10/0x10 [ 57.127716][ T67] ? lockdep_hardirqs_on_prepare+0x275/0x410 [ 57.127892][ T67] ? __try_to_del_timer_sync+0xe7/0x140 [ 57.128034][ T67] ? __pfx___try_to_del_timer_sync+0x10/0x10 [ 57.128211][ T67] ? mark_held_locks+0x9e/0xe0 [ 57.128429][ T67] netdev_upper_dev_unlink+0x71/0xa0 [ 57.128568][ T67] ? __pfx_netdev_upper_dev_unlink+0x10/0x10 [ 57.128740][ T67] ? mutex_is_locked+0x1c/0x60 [ 57.128879][ T67] ? rtnl_is_locked+0x15/0x20 [ 57.129097][ T67] ? netdev_master_upper_dev_get+0x13/0x120 [ 57.129271][ T67] vrf_device_event+0x78/0xe0 [ 57.129414][ T67] notifier_call_chain+0xcd/0x150 [ 57.129556][ T67] blocking_notifier_call_chain+0x66/0x90 [ 57.129768][ T67] unregister_netdevice_many_notify+0xa7b/0x1580 [ 57.129940][ T67] ? __pfx_unregister_netdevice_many_notify+0x10/0x10 [ 57.130109][ T67] ? default_device_exit_batch+0x81/0x2e0 [ 57.130323][ T67] ? rtnl_is_locked+0x15/0x20 [ 57.130463][ T67] ? unregister_netdevice_queue+0x70/0x410 [ 57.130632][ T67] ? __pfx_unregister_netdevice_queue+0x10/0x10 [ 57.130810][ T67] ? __pfx_unregister_netdevice_queue+0x10/0x10 [ 57.131055][ T67] default_device_exit_batch+0x241/0x2e0 [ 57.131193][ T67] ? __pfx_default_device_exit_batch+0x10/0x10 [ 57.131362][ T67] ? mutex_is_locked+0x1c/0x60 [ 57.131575][ T67] ? nexthop_net_exit_batch_rtnl+0x83/0x210 [ 57.131753][ T67] cleanup_net+0x4ef/0xa50 [ 57.131890][ T67] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 57.132028][ T67] ? __pfx_cleanup_net+0x10/0x10 [ 57.132239][ T67] ? trace_lock_acquire+0x14c/0x1f0 [ 57.132379][ T67] ? lock_acquire+0x32/0xc0 [ 57.132516][ T67] ? process_one_work+0xe0b/0x16d0 [ 57.132654][ T67] process_one_work+0xe55/0x16d0 [ 57.132874][ T67] ? __pfx___lock_release+0x10/0x10 [ 57.133010][ T67] ? __pfx_process_one_work+0x10/0x10 [ 57.133150][ T67] ? assign_work+0x16c/0x240 [ 57.133287][ T67] worker_thread+0x58c/0xce0 [ 57.133509][ T67] ? lockdep_hardirqs_on_prepare+0x275/0x410 [ 57.133694][ T67] ? __pfx_worker_thread+0x10/0x10 [ 57.133833][ T67] ? __pfx_worker_thread+0x10/0x10 [ 57.134008][ T67] kthread+0x28a/0x350 [ 57.134189][ T67] ? __pfx_kthread+0x10/0x10 [ 57.134326][ T67] ret_from_fork+0x31/0x70 [ 57.134464][ T67] ? __pfx_kthread+0x10/0x10 [ 57.134599][ T67] ret_from_fork_asm+0x1a/0x30 [ 57.134819][ T67]