[ 78.762910][ C1] [ 78.763006][ C1] ====================================================== [ 78.763129][ C1] WARNING: possible circular locking dependency detected [ 78.763235][ C1] 7.2.0-rc6-virtme #1 Not tainted [ 78.763322][ C1] ------------------------------------------------------ [ 78.763430][ C1] swapper/1/0 is trying to acquire lock: [ 78.763521][ C1] ff1100000e60eb58 (&tbl->lock){+.-.}-{3:3}, at: ___neigh_create+0x2be/0x1070 [ 78.763684][ C1] [ 78.763684][ C1] but task is already holding lock: [ 78.763812][ C1] ffa00000001d0c98 ((&n->timer)){+.-.}-{0:0}, at: call_timer_fn+0x113/0x4c0 [ 78.763966][ C1] [ 78.763966][ C1] which lock already depends on the new lock. [ 78.763966][ C1] [ 78.764143][ C1] [ 78.764143][ C1] the existing dependency chain (in reverse order) is: [ 78.764293][ C1] [ 78.764293][ C1] -> #1 ((&n->timer)){+.-.}-{0:0}: [ 78.764426][ C1] __lock_acquire+0x518/0xc20 [ 78.764515][ C1] lock_acquire.part.0+0xbc/0x260 [ 78.764600][ C1] __timer_delete_sync+0xea/0x130 [ 78.764686][ C1] neigh_flush_one+0x4bf/0x650 [ 78.764773][ C1] __neigh_ifdown.isra.0+0x1b5/0xea0 [ 78.764883][ C1] neigh_ifdown+0x10/0x20 [ 78.764970][ C1] fib_netdev_event+0x1a9/0x5d0 [ 78.765057][ C1] notifier_call_chain+0xae/0x300 [ 78.765148][ C1] netif_close_many+0x366/0x710 [ 78.765237][ C1] unregister_netdevice_many_notify+0x671/0x19a0 [ 78.765343][ C1] default_device_exit_batch+0x38b/0x600 [ 78.765448][ C1] ops_undo_list+0x2ce/0x8f0 [ 78.765533][ C1] cleanup_net+0x431/0x890 [ 78.765619][ C1] process_one_work+0xdf8/0x1410 [ 78.765705][ C1] worker_thread+0x4f1/0xd60 [ 78.765790][ C1] kthread+0x367/0x460 [ 78.765877][ C1] ret_from_fork+0x474/0x6b0 [ 78.765962][ C1] ret_from_fork_asm+0x11/0x20 [ 78.766049][ C1] [ 78.766049][ C1] -> #0 (&tbl->lock){+.-.}-{3:3}: [ 78.766180][ C1] check_prev_add+0xd8/0xe90 [ 78.766266][ C1] validate_chain+0x6b8/0xc20 [ 78.766352][ C1] __lock_acquire+0x518/0xc20 [ 78.766436][ C1] lock_acquire.part.0+0xbc/0x260 [ 78.766521][ C1] _raw_spin_lock_bh+0x38/0x50 [ 78.766606][ C1] ___neigh_create+0x2be/0x1070 [ 78.766691][ C1] ip6_finish_output2+0xb8b/0x1310 [ 78.766775][ C1] ip6_finish_output+0x646/0xda0 [ 78.766859][ C1] ip6_output+0x23f/0x7f0 [ 78.766943][ C1] ndisc_send_skb+0xba3/0x1520 [ 78.767029][ C1] ndisc_send_ns+0xa9/0x120 [ 78.767116][ C1] ndisc_solicit+0x314/0x480 [ 78.767201][ C1] neigh_probe+0xb3/0x100 [ 78.767285][ C1] neigh_timer_handler+0x191/0x1210 [ 78.767369][ C1] call_timer_fn+0x163/0x4c0 [ 78.767454][ C1] __run_timers+0x68f/0xaa0 [ 78.767539][ C1] run_timer_softirq+0xf0/0x160 [ 78.767630][ C1] handle_softirqs+0x1d8/0x8f0 [ 78.767714][ C1] __irq_exit_rcu+0x103/0x1c0 [ 78.767799][ C1] irq_exit_rcu+0xe/0x30 [ 78.767884][ C1] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 78.767989][ C1] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 78.768099][ C1] pv_native_safe_halt+0xf/0x10 [ 78.768184][ C1] default_idle+0x9/0x10 [ 78.768269][ C1] default_idle_call+0x6e/0xb0 [ 78.768353][ C1] cpuidle_idle_call.constprop.0+0x237/0x410 [ 78.768459][ C1] do_idle+0xd8/0x180 [ 78.768543][ C1] cpu_startup_entry+0x53/0x70 [ 78.768627][ C1] start_secondary+0x204/0x2b0 [ 78.768714][ C1] common_startup_64+0x13e/0x148 [ 78.768799][ C1] [ 78.768799][ C1] other info that might help us debug this: [ 78.768799][ C1] [ 78.768966][ C1] Possible unsafe locking scenario: [ 78.768966][ C1] [ 78.769099][ C1] CPU0 CPU1 [ 78.769182][ C1] ---- ---- [ 78.769269][ C1] lock((&n->timer)); [ 78.769334][ C1] lock(&tbl->lock); [ 78.769440][ C1] lock((&n->timer)); [ 78.769547][ C1] lock(&tbl->lock); [ 78.769612][ C1] [ 78.769612][ C1] *** DEADLOCK *** [ 78.769612][ C1] [ 78.769745][ C1] 3 locks held by swapper/1/0: [ 78.769831][ C1] #0: ffa00000001d0c98 ((&n->timer)){+.-.}-{0:0}, at: call_timer_fn+0x113/0x4c0 [ 78.769982][ C1] #1: ffffffffbc1a1cc0 (rcu_read_lock){....}-{1:3}, at: ndisc_send_skb+0x175/0x1520 [ 78.770137][ C1] #2: ffffffffbc1a1cc0 (rcu_read_lock){....}-{1:3}, at: ip6_output+0x11d/0x7f0 [ 78.770288][ C1] [ 78.770288][ C1] stack backtrace: [ 78.770396][ C1] CPU: 1 UID: 0 PID: 0 Comm: swapper/1 Not tainted 7.2.0-rc6-virtme #1 PREEMPT(full) [ 78.770399][ C1] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 78.770401][ C1] Call Trace: [ 78.770402][ C1] [ 78.770404][ C1] dump_stack_lvl+0x6f/0xa0 [ 78.770407][ C1] print_circular_bug.cold+0x38/0x46 [ 78.770410][ C1] check_noncircular+0x171/0x1a0 [ 78.770412][ C1] ? mark_usage+0x61/0x170 [ 78.770414][ C1] check_prev_add+0xd8/0xe90 [ 78.770416][ C1] validate_chain+0x6b8/0xc20 [ 78.770419][ C1] __lock_acquire+0x518/0xc20 [ 78.770421][ C1] lock_acquire.part.0+0xbc/0x260 [ 78.770423][ C1] ? ___neigh_create+0x2be/0x1070 [ 78.770424][ C1] ? rcu_is_watching+0x15/0xd0 [ 78.770426][ C1] ? lock_acquire+0x13c/0x160 [ 78.770428][ C1] _raw_spin_lock_bh+0x38/0x50 [ 78.770430][ C1] ? ___neigh_create+0x2be/0x1070 [ 78.770431][ C1] ___neigh_create+0x2be/0x1070 [ 78.770433][ C1] ? pv_native_safe_halt+0xf/0x10 [ 78.770435][ C1] ip6_finish_output2+0xb8b/0x1310 [ 78.770436][ C1] ? ip6_xmit+0x1cb0/0x1cb0 [ 78.770437][ C1] ? lock_acquire.part.0+0xbc/0x260 [ 78.770439][ C1] ? find_held_lock+0x2b/0x80 [ 78.770441][ C1] ? __lock_release.isra.0+0x6b/0x1a0 [ 78.770443][ C1] ? ip6_mtu+0x15d/0x310 [ 78.770446][ C1] ip6_finish_output+0x646/0xda0 [ 78.770448][ C1] ip6_output+0x23f/0x7f0 [ 78.770449][ C1] ? ip6_finish_output+0xda0/0xda0 [ 78.770450][ C1] ? lock_acquire.part.0+0xbc/0x260 [ 78.770452][ C1] ? find_held_lock+0x2b/0x80 [ 78.770453][ C1] ? __lock_release.isra.0+0x6b/0x1a0 [ 78.770455][ C1] ? __local_bh_enable_ip+0xa5/0x140 [ 78.770457][ C1] ndisc_send_skb+0xba3/0x1520 [ 78.770459][ C1] ? ndisc_recv_na+0x1090/0x1090 [ 78.770462][ C1] ? __local_bh_enable_ip+0xa5/0x140 [ 78.770464][ C1] ndisc_send_ns+0xa9/0x120 [ 78.770466][ C1] ? ndisc_router_discovery+0x2a90/0x2a90 [ 78.770468][ C1] ? lockdep_hardirqs_on_prepare.part.0+0x9a/0x160 [ 78.770470][ C1] ? lockdep_hardirqs_on+0x8c/0x130 [ 78.770471][ C1] ? _raw_spin_unlock_irqrestore+0x53/0x80 [ 78.770473][ C1] ndisc_solicit+0x314/0x480 [ 78.770475][ C1] ? ndisc_send_ns+0x120/0x120 [ 78.770477][ C1] ? __lock_release.isra.0+0x6b/0x1a0 [ 78.770478][ C1] ? neigh_probe+0x62/0x100 [ 78.770480][ C1] ? neigh_periodic_work+0xa60/0xa60 [ 78.770482][ C1] neigh_probe+0xb3/0x100 [ 78.770483][ C1] neigh_timer_handler+0x191/0x1210 [ 78.770485][ C1] ? neigh_periodic_work+0xa60/0xa60 [ 78.770486][ C1] ? rcu_is_watching+0x15/0xd0 [ 78.770487][ C1] call_timer_fn+0x163/0x4c0 [ 78.770489][ C1] ? detach_if_pending+0x1d0/0x1d0 [ 78.770491][ C1] ? find_held_lock+0x2b/0x80 [ 78.770493][ C1] ? __lock_release.isra.0+0x6b/0x1a0 [ 78.770495][ C1] ? rcu_is_watching+0x15/0xd0 [ 78.770496][ C1] __run_timers+0x68f/0xaa0 [ 78.770498][ C1] ? neigh_periodic_work+0xa60/0xa60 [ 78.770500][ C1] ? __bpf_trace_itimer_expire+0x10/0x10 [ 78.770501][ C1] ? __lock_acquire+0x518/0xc20 [ 78.770504][ C1] ? __rwlock_init+0x150/0x150 [ 78.770507][ C1] run_timer_softirq+0xf0/0x160 [ 78.770508][ C1] ? clockevents_program_event+0x307/0x7e0 [ 78.770511][ C1] ? __run_timers+0xaa0/0xaa0 [ 78.770513][ C1] ? trace_irq_enable.constprop.0+0x9b/0x160 [ 78.770515][ C1] ? rcu_is_watching+0x15/0xd0 [ 78.770517][ C1] handle_softirqs+0x1d8/0x8f0 [ 78.770519][ C1] ? _local_bh_enable+0xd0/0xd0 [ 78.770521][ C1] __irq_exit_rcu+0x103/0x1c0 [ 78.770522][ C1] irq_exit_rcu+0xe/0x30 [ 78.770524][ C1] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 78.770526][ C1] [ 78.770526][ C1] [ 78.770527][ C1] ? lockdep_hardirqs_on+0x8c/0x130 [ 78.770528][ C1] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 78.770530][ C1] RIP: 0010:pv_native_safe_halt+0xf/0x10 [ 78.770532][ C1] Code: 48 8b 3d 44 21 f6 01 e8 1f 00 00 00 48 2b 05 08 42 91 00 c3 0f 1f 80 00 00 00 00 f3 0f 1e fa eb 07 0f 00 2d a3 4d 0d 00 fb f4 0f 1f 40 d6 48 83 ec 20 8b 17 49 89 f8 83 e2 fe 41 89 d2 0f 01 [ 78.770534][ C1] RSP: 0018:ffa0000000147e00 EFLAGS: 00000282 [ 78.770536][ C1] RAX: 000000000043440b RBX: ff11000001bc2380 RCX: ffffffffb8ee6de7 [ 78.770538][ C1] RDX: ff11000001bc2380 RSI: ffffffffbbc358e3 RDI: ffffffffbb67a8e0 [ 78.770538][ C1] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 [ 78.770539][ C1] R10: 0000000000000001 R11: 0000000000000001 R12: 1ff4000000028fc3 [ 78.770540][ C1] R13: 0000000000000000 R14: dffffc0000000000 R15: 0000000000000000 [ 78.770541][ C1] ? cpuidle_idle_call.constprop.0+0x237/0x410 [ 78.770544][ C1] default_idle+0x9/0x10 [ 78.770545][ C1] default_idle_call+0x6e/0xb0 [ 78.770547][ C1] cpuidle_idle_call.constprop.0+0x237/0x410 [ 78.770549][ C1] ? arch_cpu_idle_exit+0x40/0x40 [ 78.770551][ C1] ? mark_tsc_async_resets+0x30/0x30 [ 78.770552][ C1] ? trace_sched_exit_tp+0x30/0x160 [ 78.770555][ C1] ? rcu_is_watching+0x15/0xd0 [ 78.770556][ C1] do_idle+0xd8/0x180 [ 78.770558][ C1] cpu_startup_entry+0x53/0x70 [ 78.770559][ C1] start_secondary+0x204/0x2b0 [ 78.770561][ C1] ? set_cpu_sibling_map+0x2130/0x2130 [ 78.770563][ C1] common_startup_64+0x13e/0x148 [ 78.770566][ C1]