[ 23.048679][ T823] mptcp_connect (823) used greatest stack depth: 23728 bytes left [ 42.580897][ T1585] mptcp_connect (1585) used greatest stack depth: 23648 bytes left [ 80.947962][ T12] [ 80.948044][ T12] ====================================================== [ 80.948148][ T12] WARNING: possible circular locking dependency detected [ 80.948251][ T12] 7.2.0-rc6-virtme #1 Not tainted [ 80.948340][ T12] ------------------------------------------------------ [ 80.948454][ T12] kworker/u16:0/12 is trying to acquire lock: [ 80.948555][ T12] ff11000008d4c108 ((&n->timer)){+.-.}-{0:0}, at: __timer_delete_sync+0xdb/0x130 [ 80.948710][ T12] [ 80.948710][ T12] but task is already holding lock: [ 80.948836][ T12] ff1100000d053b58 (&tbl->lock){+.-.}-{3:3}, at: __neigh_ifdown.isra.0+0xa1/0xea0 [ 80.948987][ T12] [ 80.948987][ T12] which lock already depends on the new lock. [ 80.948987][ T12] [ 80.949145][ T12] [ 80.949145][ T12] the existing dependency chain (in reverse order) is: [ 80.949289][ T12] [ 80.949289][ T12] -> #1 (&tbl->lock){+.-.}-{3:3}: [ 80.949420][ T12] __lock_acquire+0x518/0xc20 [ 80.949506][ T12] lock_acquire.part.0+0xbc/0x260 [ 80.949591][ T12] _raw_spin_lock_bh+0x38/0x50 [ 80.949671][ T12] ___neigh_create+0x2be/0x1070 [ 80.949753][ T12] ip6_finish_output2+0xb8b/0x1310 [ 80.949839][ T12] ip6_finish_output+0x646/0xda0 [ 80.949915][ T12] ip6_output+0x23f/0x7f0 [ 80.949993][ T12] ndisc_send_skb+0xba3/0x1520 [ 80.950072][ T12] ndisc_send_ns+0xa9/0x120 [ 80.950152][ T12] ndisc_solicit+0x314/0x480 [ 80.950230][ T12] neigh_probe+0xb3/0x100 [ 80.950311][ T12] neigh_timer_handler+0x191/0x1210 [ 80.950393][ T12] call_timer_fn+0x163/0x4c0 [ 80.950476][ T12] __run_timers+0x68f/0xaa0 [ 80.950560][ T12] run_timer_softirq+0xf0/0x160 [ 80.950644][ T12] handle_softirqs+0x1d8/0x8f0 [ 80.950730][ T12] __irq_exit_rcu+0x103/0x1c0 [ 80.950815][ T12] irq_exit_rcu+0xe/0x30 [ 80.950900][ T12] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 80.951001][ T12] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 80.951107][ T12] pv_native_safe_halt+0xf/0x10 [ 80.951189][ T12] default_idle+0x9/0x10 [ 80.951270][ T12] default_idle_call+0x6e/0xb0 [ 80.951352][ T12] cpuidle_idle_call.constprop.0+0x237/0x410 [ 80.951456][ T12] do_idle+0xd8/0x180 [ 80.951575][ T12] cpu_startup_entry+0x53/0x70 [ 80.951658][ T12] start_secondary+0x204/0x2b0 [ 80.951741][ T12] common_startup_64+0x13e/0x148 [ 80.951823][ T12] [ 80.951823][ T12] -> #0 ((&n->timer)){+.-.}-{0:0}: [ 80.951991][ T12] check_prev_add+0xd8/0xe90 [ 80.952072][ T12] validate_chain+0x6b8/0xc20 [ 80.952155][ T12] __lock_acquire+0x518/0xc20 [ 80.952232][ T12] lock_acquire.part.0+0xbc/0x260 [ 80.952356][ T12] __timer_delete_sync+0xea/0x130 [ 80.952439][ T12] neigh_flush_one+0x4bf/0x650 [ 80.952521][ T12] __neigh_ifdown.isra.0+0x1b5/0xea0 [ 80.952622][ T12] neigh_ifdown+0x10/0x20 [ 80.952743][ T12] fib_netdev_event+0x1a9/0x5d0 [ 80.952824][ T12] notifier_call_chain+0xae/0x300 [ 80.952908][ T12] netif_close_many+0x366/0x710 [ 80.952992][ T12] unregister_netdevice_many_notify+0x671/0x19a0 [ 80.953092][ T12] default_device_exit_batch+0x38b/0x600 [ 80.953233][ T12] ops_undo_list+0x2ce/0x8f0 [ 80.953316][ T12] cleanup_net+0x431/0x890 [ 80.953434][ T12] process_one_work+0xdf8/0x1410 [ 80.953513][ T12] worker_thread+0x4f1/0xd60 [ 80.953591][ T12] kthread+0x367/0x460 [ 80.953671][ T12] ret_from_fork+0x474/0x6b0 [ 80.953790][ T12] ret_from_fork_asm+0x11/0x20 [ 80.953870][ T12] [ 80.953870][ T12] other info that might help us debug this: [ 80.953870][ T12] [ 80.954026][ T12] Possible unsafe locking scenario: [ 80.954026][ T12] [ 80.954181][ T12] CPU0 CPU1 [ 80.954260][ T12] ---- ---- [ 80.954341][ T12] lock(&tbl->lock); [ 80.954402][ T12] lock((&n->timer)); [ 80.954539][ T12] lock(&tbl->lock); [ 80.954641][ T12] lock((&n->timer)); [ 80.954704][ T12] [ 80.954704][ T12] *** DEADLOCK *** [ 80.954704][ T12] [ 80.954818][ T12] 5 locks held by kworker/u16:0/12: [ 80.954902][ T12] #0: ff110000019e1d40 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work+0xd55/0x1410 [ 80.955059][ T12] #1: ffa00000000c7d10 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work+0xdb7/0x1410 [ 80.955238][ T12] #2: ffffffff8d2bf968 (pernet_ops_rwsem){++++}-{4:4}, at: cleanup_net+0xbf/0x890 [ 80.955390][ T12] #3: ffffffff8d2db180 (rtnl_mutex){+.+.}-{4:4}, at: default_device_exit_batch+0x9a/0x600 [ 80.955592][ T12] #4: ff1100000d053b58 (&tbl->lock){+.-.}-{3:3}, at: __neigh_ifdown.isra.0+0xa1/0xea0 [ 80.955733][ T12] [ 80.955733][ T12] stack backtrace: [ 80.955836][ T12] CPU: 0 UID: 0 PID: 12 Comm: kworker/u16:0 Not tainted 7.2.0-rc6-virtme #1 PREEMPT(full) [ 80.955839][ T12] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 80.955841][ T12] Workqueue: netns cleanup_net [ 80.955845][ T12] Call Trace: [ 80.955846][ T12] [ 80.955848][ T12] dump_stack_lvl+0x6f/0xa0 [ 80.955851][ T12] print_circular_bug.cold+0x38/0x46 [ 80.955854][ T12] check_noncircular+0x171/0x1a0 [ 80.955856][ T12] check_prev_add+0xd8/0xe90 [ 80.955858][ T12] ? do_raw_spin_unlock+0x59/0x250 [ 80.955860][ T12] ? look_up_lock_class+0x65/0x150 [ 80.955862][ T12] validate_chain+0x6b8/0xc20 [ 80.955864][ T12] __lock_acquire+0x518/0xc20 [ 80.955867][ T12] lock_acquire.part.0+0xbc/0x260 [ 80.955868][ T12] ? __timer_delete_sync+0xdb/0x130 [ 80.955871][ T12] ? rcu_is_watching+0x15/0xd0 [ 80.955873][ T12] ? lock_acquire+0x13c/0x160 [ 80.955875][ T12] ? __timer_delete_sync+0xdb/0x130 [ 80.955877][ T12] __timer_delete_sync+0xea/0x130 [ 80.955878][ T12] ? __timer_delete_sync+0xdb/0x130 [ 80.955880][ T12] neigh_flush_one+0x4bf/0x650 [ 80.955882][ T12] __neigh_ifdown.isra.0+0x1b5/0xea0 [ 80.955884][ T12] ? neigh_flush_one+0x650/0x650 [ 80.955885][ T12] ? __lock_release.isra.0+0x6b/0x1a0 [ 80.955888][ T12] ? fib_sync_mtu+0x110/0x110 [ 80.955889][ T12] ? __lock_release.isra.0+0x6b/0x1a0 [ 80.955891][ T12] ? mark_held_locks+0x40/0x70 [ 80.955893][ T12] neigh_ifdown+0x10/0x20 [ 80.955895][ T12] fib_netdev_event+0x1a9/0x5d0 [ 80.955896][ T12] notifier_call_chain+0xae/0x300 [ 80.955899][ T12] netif_close_many+0x366/0x710 [ 80.955900][ T12] ? trace_kfree+0xd2/0x100 [ 80.955903][ T12] ? __dev_close_many+0x530/0x530 [ 80.955905][ T12] ? netif_close_many_and_unlock+0x22/0x2c0 [ 80.955907][ T12] unregister_netdevice_many_notify+0x671/0x19a0 [ 80.955908][ T12] ? cleanup_net+0x431/0x890 [ 80.955910][ T12] ? worker_thread+0x4f1/0xd60 [ 80.955912][ T12] ? kthread+0x367/0x460 [ 80.955913][ T12] ? ret_from_fork+0x474/0x6b0 [ 80.955915][ T12] ? ret_from_fork_asm+0x11/0x20 [ 80.955916][ T12] ? unregister_netdevice_queued+0x80/0x80 [ 80.955919][ T12] default_device_exit_batch+0x38b/0x600 [ 80.955921][ T12] ? generic_xdp_install+0x470/0x470 [ 80.955923][ T12] ? unregister_netdev+0x60/0x60 [ 80.955924][ T12] ? rtnl_is_locked+0x15/0x20 [ 80.955926][ T12] ? nexthop_net_exit_rtnl+0x1f/0x270 [ 80.955928][ T12] ops_undo_list+0x2ce/0x8f0 [ 80.955931][ T12] ? lockdep_hardirqs_on+0x8c/0x130 [ 80.955932][ T12] ? rtnl_net_dumpid_one+0x2d0/0x2d0 [ 80.955934][ T12] ? __lock_release.isra.0+0x6b/0x1a0 [ 80.955936][ T12] ? idr_destroy+0x121/0x250 [ 80.955939][ T12] cleanup_net+0x431/0x890 [ 80.955941][ T12] ? net_passive_dec+0x1c0/0x1c0 [ 80.955943][ T12] ? process_one_work+0xdb7/0x1410 [ 80.955945][ T12] ? lock_acquire+0x13c/0x160 [ 80.955947][ T12] ? rcu_is_watching+0x15/0xd0 [ 80.955948][ T12] process_one_work+0xdf8/0x1410 [ 80.955951][ T12] ? pwq_dec_nr_in_flight+0x710/0x710 [ 80.955953][ T12] ? lock_acquire.part.0+0xbc/0x260 [ 80.955956][ T12] worker_thread+0x4f1/0xd60 [ 80.955959][ T12] ? rescuer_thread+0x1320/0x1320 [ 80.955961][ T12] kthread+0x367/0x460 [ 80.955962][ T12] ? trace_irq_enable.constprop.0+0x9b/0x160 [ 80.955965][ T12] ? kthread_affine_node+0x330/0x330 [ 80.955967][ T12] ret_from_fork+0x474/0x6b0 [ 80.955968][ T12] ? arch_exit_to_user_mode_prepare.isra.0+0x120/0x120 [ 80.955970][ T12] ? __switch_to+0x5a3/0xe00 [ 80.955972][ T12] ? kthread_affine_node+0x330/0x330 [ 80.955974][ T12] ret_from_fork_asm+0x11/0x20 [ 80.955977][ T12]