[ 2060.760987][ T71] [ 2060.761092][ T71] ====================================================== [ 2060.761242][ T71] WARNING: possible circular locking dependency detected [ 2060.761387][ T71] 7.3.0-rc3-virtme #1 Not tainted [ 2060.761511][ T71] ------------------------------------------------------ [ 2060.761661][ T71] kworker/u16:1/71 is trying to acquire lock: [ 2060.761809][ T71] ff1100001f521e10 (&dev_instance_lock_key#2){+.+.}-{4:4}, at: unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2060.762082][ T71] [ 2060.762082][ T71] but task is already holding lock: [ 2060.762258][ T71] ff1100001ecd1e10 (&dev_instance_lock_key){+.+.}-{4:4}, at: unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2060.762541][ T71] [ 2060.762541][ T71] which lock already depends on the new lock. [ 2060.762541][ T71] [ 2060.762777][ T71] [ 2060.762777][ T71] the existing dependency chain (in reverse order) is: [ 2060.762978][ T71] [ 2060.762978][ T71] -> #1 (&dev_instance_lock_key){+.+.}-{4:4}: [ 2060.763156][ T71] __lock_acquire+0x4ff/0x900 [ 2060.763276][ T71] lock_acquire.part.0+0xd4/0x280 [ 2060.763395][ T71] __mutex_lock+0x1ae/0x1f10 [ 2060.763516][ T71] unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2060.763663][ T71] default_device_exit_batch+0x543/0x820 [ 2060.763807][ T71] ops_undo_list+0x2ce/0x8f0 [ 2060.763923][ T71] cleanup_net+0x431/0x940 [ 2060.764042][ T71] process_one_work+0xe3e/0x1560 [ 2060.764162][ T71] worker_thread+0x4f1/0xd60 [ 2060.764276][ T71] kthread+0x367/0x460 [ 2060.764391][ T71] ret_from_fork+0x474/0x6b0 [ 2060.764511][ T71] ret_from_fork_asm+0x11/0x20 [ 2060.764635][ T71] [ 2060.764635][ T71] -> #0 (&dev_instance_lock_key#2){+.+.}-{4:4}: [ 2060.764812][ T71] check_prev_add+0xd8/0xe90 [ 2060.764930][ T71] validate_chain+0x6b8/0xc20 [ 2060.765050][ T71] __lock_acquire+0x4ff/0x900 [ 2060.765167][ T71] lock_acquire.part.0+0xd4/0x280 [ 2060.765285][ T71] __mutex_lock+0x1ae/0x1f10 [ 2060.765402][ T71] unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2060.765545][ T71] default_device_exit_batch+0x543/0x820 [ 2060.765693][ T71] ops_undo_list+0x2ce/0x8f0 [ 2060.765809][ T71] cleanup_net+0x431/0x940 [ 2060.765922][ T71] process_one_work+0xe3e/0x1560 [ 2060.766035][ T71] worker_thread+0x4f1/0xd60 [ 2060.766149][ T71] kthread+0x367/0x460 [ 2060.766265][ T71] ret_from_fork+0x474/0x6b0 [ 2060.766380][ T71] ret_from_fork_asm+0x11/0x20 [ 2060.766495][ T71] [ 2060.766495][ T71] other info that might help us debug this: [ 2060.766495][ T71] [ 2060.766732][ T71] Possible unsafe locking scenario: [ 2060.766732][ T71] [ 2060.766910][ T71] CPU0 CPU1 [ 2060.767024][ T71] ---- ---- [ 2060.767147][ T71] lock(&dev_instance_lock_key); [ 2060.767268][ T71] lock(&dev_instance_lock_key#2); [ 2060.767444][ T71] lock(&dev_instance_lock_key); [ 2060.767624][ T71] lock(&dev_instance_lock_key#2); [ 2060.767743][ T71] [ 2060.767743][ T71] *** DEADLOCK *** [ 2060.767743][ T71] [ 2060.767916][ T71] locks held by kworker/u16:1/71: 6, last CPU#3: [ 2060.768059][ T71] #0: ff11000001a21d40 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work+0xd9a/0x1560 [ 2060.768290][ T71] #1: ffa00000004c7d10 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work+0xdfc/0x1560 [ 2060.768491][ T71] #2: ffffffff9f102d68 (pernet_ops_rwsem){++++}-{4:4}, at: cleanup_net+0xbf/0x940 [ 2060.768705][ T71] #3: ffffffff9f11e820 (rtnl_mutex){+.+.}-{4:4}, at: default_device_exit_batch+0xa8/0x820 [ 2060.768935][ T71] #4: ff11000011db4e10 (&dev_instance_lock_key#2){+.+.}-{4:4}, at: unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2060.769191][ T71] #5: ff1100001ecd1e10 (&dev_instance_lock_key){+.+.}-{4:4}, at: unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2060.769455][ T71] [ 2060.769455][ T71] stack backtrace: [ 2060.769603][ T71] CPU: 3 UID: 0 PID: 71 Comm: kworker/u16:1 Not tainted 7.3.0-rc3-virtme #1 PREEMPT(full) [ 2060.769606][ T71] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 2060.769608][ T71] Workqueue: netns cleanup_net [ 2060.769611][ T71] Call Trace: [ 2060.769613][ T71] [ 2060.769615][ T71] dump_stack_lvl+0x6f/0xa0 [ 2060.769618][ T71] print_circular_bug.cold+0x38/0x46 [ 2060.769621][ T71] check_noncircular+0x171/0x1a0 [ 2060.769624][ T71] check_prev_add+0xd8/0xe90 [ 2060.769626][ T71] ? lock_acquire.part.0+0xd4/0x280 [ 2060.769629][ T71] validate_chain+0x6b8/0xc20 [ 2060.769631][ T71] __lock_acquire+0x4ff/0x900 [ 2060.769634][ T71] lock_acquire.part.0+0xd4/0x280 [ 2060.769635][ T71] ? unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2060.769637][ T71] ? rcu_is_watching+0x16/0xd0 [ 2060.769640][ T71] ? lock_acquire+0x13c/0x160 [ 2060.769642][ T71] __mutex_lock+0x1ae/0x1f10 [ 2060.769644][ T71] ? unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2060.769646][ T71] ? unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2060.769647][ T71] ? __lock_acquire+0x4ff/0x900 [ 2060.769649][ T71] ? ww_mutex_lock+0x160/0x160 [ 2060.769651][ T71] ? find_held_lock+0x2b/0x80 [ 2060.769653][ T71] ? rcu_is_watching+0x16/0xd0 [ 2060.769654][ T71] ? mark_held_locks+0x40/0x70 [ 2060.769656][ T71] ? kfree+0x22/0x590 [ 2060.769659][ T71] ? lockdep_hardirqs_on_prepare.part.0+0x9a/0x160 [ 2060.769661][ T71] ? _raw_spin_unlock_irqrestore+0x53/0x80 [ 2060.769664][ T71] ? unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2060.769665][ T71] ? rtnl_is_locked+0x15/0x20 [ 2060.769668][ T71] unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2060.769669][ T71] ? ops_undo_list+0x2ce/0x8f0 [ 2060.769671][ T71] ? worker_thread+0x4f1/0xd60 [ 2060.769672][ T71] ? kthread+0x367/0x460 [ 2060.769674][ T71] ? ret_from_fork+0x474/0x6b0 [ 2060.769676][ T71] ? ret_from_fork_asm+0x11/0x20 [ 2060.769677][ T71] ? unregister_netdevice_queued+0x80/0x80 [ 2060.769680][ T71] ? unregister_netdevice_many+0x20/0x20 [ 2060.769682][ T71] default_device_exit_batch+0x543/0x820 [ 2060.769684][ T71] ? unregister_netdevice_queue+0x470/0x470 [ 2060.769686][ T71] ? perf_trace_sched_switch+0x7c0/0x7c0 [ 2060.769689][ T71] ? fou_exit_net+0x30/0x110 [ 2060.769692][ T71] ops_undo_list+0x2ce/0x8f0 [ 2060.769695][ T71] ? lockdep_hardirqs_on+0x91/0x130 [ 2060.769698][ T71] ? netns_install+0x2a0/0x2a0 [ 2060.769699][ T71] ? __lock_release.isra.0+0x69/0x1a0 [ 2060.769701][ T71] ? idr_destroy+0x121/0x250 [ 2060.769705][ T71] cleanup_net+0x431/0x940 [ 2060.769707][ T71] ? net_passive_dec+0x230/0x230 [ 2060.769710][ T71] ? lock_acquire+0x13c/0x160 [ 2060.769711][ T71] ? rcu_is_watching+0x16/0xd0 [ 2060.769713][ T71] process_one_work+0xe3e/0x1560 [ 2060.769715][ T71] ? __queue_delayed_work+0x470/0x470 [ 2060.769717][ T71] ? lock_acquire.part.0+0xd4/0x280 [ 2060.769720][ T71] worker_thread+0x4f1/0xd60 [ 2060.769722][ T71] ? rescuer_thread+0x1340/0x1340 [ 2060.769723][ T71] ? __kthread_parkme+0xbd/0x210 [ 2060.769725][ T71] ? rescuer_thread+0x1340/0x1340 [ 2060.769726][ T71] ? rescuer_thread+0x1340/0x1340 [ 2060.769727][ T71] kthread+0x367/0x460 [ 2060.769729][ T71] ? trace_irq_enable.constprop.0+0x9b/0x160 [ 2060.769732][ T71] ? kthread_affine_preferred+0x4c0/0x4c0 [ 2060.769734][ T71] ret_from_fork+0x474/0x6b0 [ 2060.769736][ T71] ? arch_exit_to_user_mode_prepare.isra.0+0x120/0x120 [ 2060.769738][ T71] ? __switch_to+0x5a3/0xe00 [ 2060.769741][ T71] ? kthread_affine_preferred+0x4c0/0x4c0 [ 2060.769743][ T71] ret_from_fork_asm+0x11/0x20 [ 2060.769746][ T71]