[ 224.194280][ C0] [ 224.194398][ C0] ====================================================== [ 224.194525][ C0] WARNING: possible circular locking dependency detected [ 224.194645][ C0] 7.2.0-rc6-virtme #1 Not tainted [ 224.194749][ C0] ------------------------------------------------------ [ 224.194867][ C0] swapper/0/0 is trying to acquire lock: [ 224.194967][ C0] ff1100000dd6bb58 (&tbl->lock){+.-.}-{3:3}, at: ___neigh_create+0x2be/0x1070 [ 224.195145][ C0] [ 224.195145][ C0] but task is already holding lock: [ 224.195296][ C0] ffa0000000007c98 ((&n->timer)){+.-.}-{0:0}, at: call_timer_fn+0x113/0x4c0 [ 224.195464][ C0] [ 224.195464][ C0] which lock already depends on the new lock. [ 224.195464][ C0] [ 224.195647][ C0] [ 224.195647][ C0] the existing dependency chain (in reverse order) is: [ 224.195812][ C0] [ 224.195812][ C0] -> #1 ((&n->timer)){+.-.}-{0:0}: [ 224.195953][ C0] __lock_acquire+0x518/0xc20 [ 224.196051][ C0] lock_acquire.part.0+0xbc/0x260 [ 224.196143][ C0] __timer_delete_sync+0xea/0x130 [ 224.196235][ C0] neigh_flush_one+0x4bf/0x650 [ 224.196335][ C0] __neigh_ifdown.isra.0+0x1b5/0xea0 [ 224.196449][ C0] neigh_ifdown+0x10/0x20 [ 224.196542][ C0] fib_netdev_event+0x1a9/0x5d0 [ 224.196638][ C0] notifier_call_chain+0xae/0x300 [ 224.196733][ C0] netif_close_many+0x366/0x770 [ 224.196827][ C0] unregister_netdevice_many_notify+0x71a/0x1b40 [ 224.196947][ C0] default_device_exit_batch+0x38b/0x600 [ 224.197063][ C0] ops_undo_list+0x2ce/0x8f0 [ 224.197158][ C0] cleanup_net+0x431/0x940 [ 224.197256][ C0] process_one_work+0xdf8/0x1410 [ 224.197350][ C0] worker_thread+0x4f1/0xd60 [ 224.197444][ C0] kthread+0x367/0x460 [ 224.197537][ C0] ret_from_fork+0x474/0x6b0 [ 224.197635][ C0] ret_from_fork_asm+0x11/0x20 [ 224.197730][ C0] [ 224.197730][ C0] -> #0 (&tbl->lock){+.-.}-{3:3}: [ 224.197872][ C0] check_prev_add+0xd8/0xe90 [ 224.197968][ C0] validate_chain+0x6b8/0xc20 [ 224.198060][ C0] __lock_acquire+0x518/0xc20 [ 224.198152][ C0] lock_acquire.part.0+0xbc/0x260 [ 224.198248][ C0] _raw_spin_lock_bh+0x38/0x50 [ 224.198346][ C0] ___neigh_create+0x2be/0x1070 [ 224.198439][ C0] ip6_finish_output2+0xb9a/0x12f0 [ 224.198533][ C0] ip6_finish_output+0x701/0xe80 [ 224.198629][ C0] ip6_output+0x23f/0x7f0 [ 224.198725][ C0] ndisc_send_skb+0xba3/0x1520 [ 224.198818][ C0] ndisc_send_ns+0xa9/0x120 [ 224.198913][ C0] ndisc_solicit+0x314/0x480 [ 224.199008][ C0] neigh_probe+0xb3/0x100 [ 224.199099][ C0] neigh_timer_handler+0x191/0x1210 [ 224.199191][ C0] call_timer_fn+0x163/0x4c0 [ 224.199284][ C0] __run_timers+0x68f/0xaa0 [ 224.199376][ C0] run_timer_softirq+0xf0/0x160 [ 224.199469][ C0] handle_softirqs+0x1d8/0x8f0 [ 224.199568][ C0] __irq_exit_rcu+0x103/0x1c0 [ 224.199663][ C0] irq_exit_rcu+0xe/0x30 [ 224.199755][ C0] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 224.199871][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 224.199988][ C0] pv_native_safe_halt+0xf/0x10 [ 224.200080][ C0] default_idle+0x9/0x10 [ 224.200177][ C0] default_idle_call+0x6e/0xb0 [ 224.200275][ C0] cpuidle_idle_call.constprop.0+0x237/0x410 [ 224.200390][ C0] do_idle+0xd8/0x180 [ 224.200486][ C0] cpu_startup_entry+0x53/0x70 [ 224.200577][ C0] rest_init+0x1f7/0x200 [ 224.200670][ C0] start_kernel+0x3af/0x3b0 [ 224.200763][ C0] x86_64_start_reservations+0x24/0x30 [ 224.200882][ C0] x86_64_start_kernel+0x12b/0x130 [ 224.200974][ C0] common_startup_64+0x13e/0x148 [ 224.201072][ C0] [ 224.201072][ C0] other info that might help us debug this: [ 224.201072][ C0] [ 224.201255][ C0] Possible unsafe locking scenario: [ 224.201255][ C0] [ 224.201400][ C0] CPU0 CPU1 [ 224.201495][ C0] ---- ---- [ 224.201587][ C0] lock((&n->timer)); [ 224.201659][ C0] lock(&tbl->lock); [ 224.201775][ C0] lock((&n->timer)); [ 224.201891][ C0] lock(&tbl->lock); [ 224.201962][ C0] [ 224.201962][ C0] *** DEADLOCK *** [ 224.201962][ C0] [ 224.202103][ C0] 3 locks held by swapper/0/0: [ 224.202198][ C0] #0: ffa0000000007c98 ((&n->timer)){+.-.}-{0:0}, at: call_timer_fn+0x113/0x4c0 [ 224.202366][ C0] #1: ffffffff9eb91d40 (rcu_read_lock){....}-{1:3}, at: ndisc_send_skb+0x175/0x1520 [ 224.202529][ C0] #2: ffffffff9eb91d40 (rcu_read_lock){....}-{1:3}, at: ip6_output+0x11d/0x7f0 [ 224.202691][ C0] [ 224.202691][ C0] stack backtrace: [ 224.202814][ C0] CPU: 0 UID: 0 PID: 0 Comm: swapper/0 Not tainted 7.2.0-rc6-virtme #1 PREEMPT(full) [ 224.202817][ C0] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 224.202819][ C0] Call Trace: [ 224.202820][ C0] [ 224.202821][ C0] dump_stack_lvl+0x6f/0xa0 [ 224.202825][ C0] print_circular_bug.cold+0x38/0x46 [ 224.202828][ C0] check_noncircular+0x171/0x1a0 [ 224.202831][ C0] ? mark_usage+0x61/0x170 [ 224.202833][ C0] check_prev_add+0xd8/0xe90 [ 224.202835][ C0] validate_chain+0x6b8/0xc20 [ 224.202838][ C0] __lock_acquire+0x518/0xc20 [ 224.202840][ C0] lock_acquire.part.0+0xbc/0x260 [ 224.202842][ C0] ? ___neigh_create+0x2be/0x1070 [ 224.202844][ C0] ? rcu_is_watching+0x15/0xd0 [ 224.202846][ C0] ? lock_acquire+0x13c/0x160 [ 224.202848][ C0] _raw_spin_lock_bh+0x38/0x50 [ 224.202850][ C0] ? ___neigh_create+0x2be/0x1070 [ 224.202851][ C0] ___neigh_create+0x2be/0x1070 [ 224.202853][ C0] ? pv_native_safe_halt+0xf/0x10 [ 224.202855][ C0] ip6_finish_output2+0xb9a/0x12f0 [ 224.202857][ C0] ? ip6_xmit+0x2000/0x2000 [ 224.202858][ C0] ? find_held_lock+0x2b/0x80 [ 224.202860][ C0] ? __lock_release.isra.0+0x6b/0x1a0 [ 224.202862][ C0] ? ip6_mtu+0x174/0x410 [ 224.202864][ C0] ip6_finish_output+0x701/0xe80 [ 224.202866][ C0] ip6_output+0x23f/0x7f0 [ 224.202868][ C0] ? ip6_finish_output+0xe80/0xe80 [ 224.202869][ C0] ? lock_acquire.part.0+0xbc/0x260 [ 224.202871][ C0] ? find_held_lock+0x2b/0x80 [ 224.202873][ C0] ? __lock_release.isra.0+0x6b/0x1a0 [ 224.202874][ C0] ? __local_bh_enable_ip+0xa5/0x140 [ 224.202877][ C0] ndisc_send_skb+0xba3/0x1520 [ 224.202879][ C0] ? ndisc_recv_na+0x1090/0x1090 [ 224.202882][ C0] ? __local_bh_enable_ip+0xa5/0x140 [ 224.202884][ C0] ndisc_send_ns+0xa9/0x120 [ 224.202885][ C0] ? __ipv6_chk_addr_and_flags+0x251/0x5f0 [ 224.202888][ C0] ? ndisc_router_discovery+0x30c0/0x30c0 [ 224.202889][ C0] ? __ipv6_chk_addr_and_flags+0x25b/0x5f0 [ 224.202891][ C0] ? lockdep_hardirqs_on_prepare.part.0+0x9a/0x160 [ 224.202893][ C0] ? lockdep_hardirqs_on+0x8c/0x130 [ 224.202894][ C0] ? _raw_spin_unlock_irqrestore+0x53/0x80 [ 224.202896][ C0] ndisc_solicit+0x314/0x480 [ 224.202897][ C0] ? ndisc_send_ns+0x120/0x120 [ 224.202898][ C0] ? __lock_release.isra.0+0x6b/0x1a0 [ 224.202900][ C0] ? neigh_probe+0x62/0x100 [ 224.202902][ C0] ? neigh_periodic_work+0xa60/0xa60 [ 224.202903][ C0] neigh_probe+0xb3/0x100 [ 224.202904][ C0] neigh_timer_handler+0x191/0x1210 [ 224.202906][ C0] ? neigh_periodic_work+0xa60/0xa60 [ 224.202907][ C0] ? rcu_is_watching+0x15/0xd0 [ 224.202909][ C0] call_timer_fn+0x163/0x4c0 [ 224.202910][ C0] ? detach_if_pending+0x1d0/0x1d0 [ 224.202911][ C0] ? find_held_lock+0x2b/0x80 [ 224.202913][ C0] ? __lock_release.isra.0+0x6b/0x1a0 [ 224.202915][ C0] ? rcu_is_watching+0x15/0xd0 [ 224.202917][ C0] __run_timers+0x68f/0xaa0 [ 224.202918][ C0] ? neigh_periodic_work+0xa60/0xa60 [ 224.202920][ C0] ? __bpf_trace_itimer_expire+0x10/0x10 [ 224.202921][ C0] ? __lock_acquire+0x518/0xc20 [ 224.202924][ C0] ? __rwlock_init+0x150/0x150 [ 224.202926][ C0] run_timer_softirq+0xf0/0x160 [ 224.202928][ C0] ? clockevents_program_event+0x307/0x7e0 [ 224.202931][ C0] ? __run_timers+0xaa0/0xaa0 [ 224.202932][ C0] ? trace_irq_enable.constprop.0+0x9b/0x160 [ 224.202935][ C0] ? rcu_is_watching+0x15/0xd0 [ 224.202936][ C0] handle_softirqs+0x1d8/0x8f0 [ 224.202938][ C0] ? _local_bh_enable+0xd0/0xd0 [ 224.202941][ C0] __irq_exit_rcu+0x103/0x1c0 [ 224.202942][ C0] irq_exit_rcu+0xe/0x30 [ 224.202944][ C0] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 224.202946][ C0] [ 224.202946][ C0] [ 224.202947][ C0] ? lockdep_hardirqs_on_prepare.part.0+0x9a/0x160 [ 224.202949][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 224.202951][ C0] RIP: 0010:pv_native_safe_halt+0xf/0x10 [ 224.202953][ C0] Code: 48 8b 3d 44 61 6e 02 e8 1f 00 00 00 48 2b 05 08 22 a7 00 c3 0f 1f 80 00 00 00 00 f3 0f 1e fa eb 07 0f 00 2d a3 dd 19 00 fb f4 0f 1f 40 d6 48 83 ec 20 8b 17 49 89 f8 83 e2 fe 41 89 d2 0f 01 [ 224.202954][ C0] RSP: 0018:ffffffff9e807e18 EFLAGS: 00000292 [ 224.202957][ C0] RAX: 000000000099536f RBX: ffffffff9e830600 RCX: ffffffff9aef7f27 [ 224.202958][ C0] RDX: ffffffff9e830600 RSI: ffffffff9e0c4933 RDI: ffffffff9da7d760 [ 224.202959][ C0] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 [ 224.202960][ C0] R10: 0000000000000000 R11: 0000000000000001 R12: 1ffffffff3d00fc6 [ 224.202960][ C0] R13: 0000000000000000 R14: dffffc0000000000 R15: 0000000000014770 [ 224.202962][ C0] ? cpuidle_idle_call.constprop.0+0x237/0x410 [ 224.202965][ C0] ? lockdep_hardirqs_on+0x8c/0x130 [ 224.202966][ C0] default_idle+0x9/0x10 [ 224.202967][ C0] default_idle_call+0x6e/0xb0 [ 224.202968][ C0] cpuidle_idle_call.constprop.0+0x237/0x410 [ 224.202970][ C0] ? arch_cpu_idle_exit+0x40/0x40 [ 224.202972][ C0] ? mark_tsc_async_resets+0x30/0x30 [ 224.202975][ C0] ? trace_irq_enable.constprop.0+0x9b/0x160 [ 224.202976][ C0] ? rcu_is_watching+0x15/0xd0 [ 224.202978][ C0] do_idle+0xd8/0x180 [ 224.202980][ C0] cpu_startup_entry+0x53/0x70 [ 224.202982][ C0] rest_init+0x1f7/0x200 [ 224.202983][ C0] start_kernel+0x3af/0x3b0 [ 224.202985][ C0] x86_64_start_reservations+0x24/0x30 [ 224.202987][ C0] x86_64_start_kernel+0x12b/0x130 [ 224.202989][ C0] common_startup_64+0x13e/0x148 [ 224.202992][ C0]