[ 2150.850260][ T71] [ 2150.850368][ T71] ====================================================== [ 2150.850531][ T71] WARNING: possible circular locking dependency detected [ 2150.850686][ T71] 7.3.0-rc3-virtme #1 Not tainted [ 2150.850819][ T71] ------------------------------------------------------ [ 2150.850969][ T71] kworker/u16:1/71 is trying to acquire lock: [ 2150.851120][ T71] ff11000008fc9e10 (&dev_instance_lock_key#2){+.+.}-{4:4}, at: unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2150.851395][ T71] [ 2150.851395][ T71] but task is already holding lock: [ 2150.851574][ T71] ff110000111c4e10 (&dev_instance_lock_key){+.+.}-{4:4}, at: unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2150.851851][ T71] [ 2150.851851][ T71] which lock already depends on the new lock. [ 2150.851851][ T71] [ 2150.852091][ T71] [ 2150.852091][ T71] the existing dependency chain (in reverse order) is: [ 2150.852303][ T71] [ 2150.852303][ T71] -> #1 (&dev_instance_lock_key){+.+.}-{4:4}: [ 2150.852482][ T71] __lock_acquire+0x4ff/0x900 [ 2150.852607][ T71] lock_acquire.part.0+0xd4/0x280 [ 2150.852723][ T71] __mutex_lock+0x1ae/0x1f10 [ 2150.852847][ T71] unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2150.852999][ T71] default_device_exit_batch+0x543/0x820 [ 2150.853146][ T71] ops_undo_list+0x2ce/0x8f0 [ 2150.853261][ T71] cleanup_net+0x431/0x940 [ 2150.853377][ T71] process_one_work+0xe3e/0x1560 [ 2150.853496][ T71] worker_thread+0x4f1/0xd60 [ 2150.853614][ T71] kthread+0x367/0x460 [ 2150.853730][ T71] ret_from_fork+0x474/0x6b0 [ 2150.853850][ T71] ret_from_fork_asm+0x11/0x20 [ 2150.853970][ T71] [ 2150.853970][ T71] -> #0 (&dev_instance_lock_key#2){+.+.}-{4:4}: [ 2150.854149][ T71] check_prev_add+0xd8/0xe90 [ 2150.854271][ T71] validate_chain+0x6b8/0xc20 [ 2150.854394][ T71] __lock_acquire+0x4ff/0x900 [ 2150.854511][ T71] lock_acquire.part.0+0xd4/0x280 [ 2150.854627][ T71] __mutex_lock+0x1ae/0x1f10 [ 2150.854745][ T71] unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2150.854895][ T71] default_device_exit_batch+0x543/0x820 [ 2150.855044][ T71] ops_undo_list+0x2ce/0x8f0 [ 2150.855159][ T71] cleanup_net+0x431/0x940 [ 2150.855278][ T71] process_one_work+0xe3e/0x1560 [ 2150.855396][ T71] worker_thread+0x4f1/0xd60 [ 2150.855514][ T71] kthread+0x367/0x460 [ 2150.855630][ T71] ret_from_fork+0x474/0x6b0 [ 2150.855748][ T71] ret_from_fork_asm+0x11/0x20 [ 2150.855873][ T71] [ 2150.855873][ T71] other info that might help us debug this: [ 2150.855873][ T71] [ 2150.856108][ T71] Possible unsafe locking scenario: [ 2150.856108][ T71] [ 2150.856286][ T71] CPU0 CPU1 [ 2150.856405][ T71] ---- ---- [ 2150.856523][ T71] lock(&dev_instance_lock_key); [ 2150.856642][ T71] lock(&dev_instance_lock_key#2); [ 2150.856823][ T71] lock(&dev_instance_lock_key); [ 2150.857001][ T71] lock(&dev_instance_lock_key#2); [ 2150.857120][ T71] [ 2150.857120][ T71] *** DEADLOCK *** [ 2150.857120][ T71] [ 2150.857294][ T71] locks held by kworker/u16:1/71: 6, last CPU#2: [ 2150.857441][ T71] #0: ff11000001a21d40 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work+0xd9a/0x1560 [ 2150.857678][ T71] #1: ffa00000004c7d10 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work+0xdfc/0x1560 [ 2150.857889][ T71] #2: ffffffff98f02968 (pernet_ops_rwsem){++++}-{4:4}, at: cleanup_net+0xbf/0x940 [ 2150.858094][ T71] #3: ffffffff98f1e7e0 (rtnl_mutex){+.+.}-{4:4}, at: default_device_exit_batch+0xa8/0x820 [ 2150.858329][ T71] #4: ff110000225dce10 (&dev_instance_lock_key#2){+.+.}-{4:4}, at: unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2150.858593][ T71] #5: ff110000111c4e10 (&dev_instance_lock_key){+.+.}-{4:4}, at: unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2150.858859][ T71] [ 2150.858859][ T71] stack backtrace: [ 2150.859007][ T71] CPU: 2 UID: 0 PID: 71 Comm: kworker/u16:1 Not tainted 7.3.0-rc3-virtme #1 PREEMPT(full) [ 2150.859010][ T71] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 2150.859013][ T71] Workqueue: netns cleanup_net [ 2150.859016][ T71] Call Trace: [ 2150.859018][ T71] [ 2150.859019][ T71] dump_stack_lvl+0x6f/0xa0 [ 2150.859022][ T71] print_circular_bug.cold+0x38/0x46 [ 2150.859026][ T71] check_noncircular+0x171/0x1a0 [ 2150.859029][ T71] check_prev_add+0xd8/0xe90 [ 2150.859031][ T71] ? lock_acquire.part.0+0xd4/0x280 [ 2150.859033][ T71] validate_chain+0x6b8/0xc20 [ 2150.859035][ T71] __lock_acquire+0x4ff/0x900 [ 2150.859037][ T71] lock_acquire.part.0+0xd4/0x280 [ 2150.859039][ T71] ? unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2150.859041][ T71] ? rcu_is_watching+0x16/0xd0 [ 2150.859044][ T71] ? lock_acquire+0x13c/0x160 [ 2150.859046][ T71] __mutex_lock+0x1ae/0x1f10 [ 2150.859048][ T71] ? unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2150.859049][ T71] ? unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2150.859050][ T71] ? __lock_acquire+0x4ff/0x900 [ 2150.859052][ T71] ? ww_mutex_lock+0x160/0x160 [ 2150.859054][ T71] ? find_held_lock+0x2b/0x80 [ 2150.859056][ T71] ? rcu_is_watching+0x16/0xd0 [ 2150.859057][ T71] ? mark_held_locks+0x40/0x70 [ 2150.859059][ T71] ? kfree+0x22/0x590 [ 2150.859062][ T71] ? lockdep_hardirqs_on_prepare.part.0+0x9a/0x160 [ 2150.859064][ T71] ? _raw_spin_unlock_irqrestore+0x53/0x80 [ 2150.859066][ T71] ? unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2150.859068][ T71] ? rtnl_is_locked+0x15/0x20 [ 2150.859070][ T71] unregister_netdevice_many_notify+0x3ef/0x1b40 [ 2150.859071][ T71] ? ops_undo_list+0x2ce/0x8f0 [ 2150.859073][ T71] ? worker_thread+0x4f1/0xd60 [ 2150.859074][ T71] ? kthread+0x367/0x460 [ 2150.859076][ T71] ? ret_from_fork+0x474/0x6b0 [ 2150.859077][ T71] ? ret_from_fork_asm+0x11/0x20 [ 2150.859079][ T71] ? unregister_netdevice_queued+0x80/0x80 [ 2150.859081][ T71] ? unregister_netdevice_many+0x20/0x20 [ 2150.859083][ T71] default_device_exit_batch+0x543/0x820 [ 2150.859085][ T71] ? unregister_netdevice_queue+0x470/0x470 [ 2150.859087][ T71] ? perf_trace_sched_switch+0x7c0/0x7c0 [ 2150.859089][ T71] ? fou_exit_net+0x30/0x110 [ 2150.859092][ T71] ops_undo_list+0x2ce/0x8f0 [ 2150.859094][ T71] ? lockdep_hardirqs_on+0x91/0x130 [ 2150.859097][ T71] ? netns_install+0x2a0/0x2a0 [ 2150.859098][ T71] ? __lock_release.isra.0+0x69/0x1a0 [ 2150.859101][ T71] ? idr_destroy+0x121/0x250 [ 2150.859104][ T71] cleanup_net+0x431/0x940 [ 2150.859106][ T71] ? net_passive_dec+0x230/0x230 [ 2150.859108][ T71] ? lock_acquire+0x13c/0x160 [ 2150.859109][ T71] ? rcu_is_watching+0x16/0xd0 [ 2150.859111][ T71] process_one_work+0xe3e/0x1560 [ 2150.859113][ T71] ? __queue_delayed_work+0x470/0x470 [ 2150.859115][ T71] ? lock_acquire.part.0+0xd4/0x280 [ 2150.859118][ T71] worker_thread+0x4f1/0xd60 [ 2150.859119][ T71] ? rescuer_thread+0x1340/0x1340 [ 2150.859121][ T71] ? __kthread_parkme+0xbd/0x210 [ 2150.859122][ T71] ? rescuer_thread+0x1340/0x1340 [ 2150.859124][ T71] ? rescuer_thread+0x1340/0x1340 [ 2150.859125][ T71] kthread+0x367/0x460 [ 2150.859126][ T71] ? trace_irq_enable.constprop.0+0x9b/0x160 [ 2150.859129][ T71] ? kthread_affine_preferred+0x4c0/0x4c0 [ 2150.859131][ T71] ret_from_fork+0x474/0x6b0 [ 2150.859133][ T71] ? arch_exit_to_user_mode_prepare.isra.0+0x120/0x120 [ 2150.859135][ T71] ? __switch_to+0x5a3/0xe00 [ 2150.859137][ T71] ? kthread_affine_preferred+0x4c0/0x4c0 [ 2150.859139][ T71] ret_from_fork_asm+0x11/0x20 [ 2150.859142][ T71]