[ 3139.867728][ C2] [ 3139.867886][ C2] ====================================================== [ 3139.868066][ C2] WARNING: possible circular locking dependency detected [ 3139.868254][ C2] 6.9.0-rc2-virtme #1 Not tainted [ 3139.868405][ C2] ------------------------------------------------------ [ 3139.868592][ C2] swapper/2/0 is trying to acquire lock: [ 3139.868741][ C2] ffff888003cd4498 (&hashinfo->ehash_locks[i]){+.-.}-{2:2}, at: tw_timer_handler+0xe9/0x130 [ 3139.869079][ C2] [ 3139.869079][ C2] but task is already holding lock: [ 3139.869294][ C2] ffffc90000230d68 ((&tw->tw_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 3139.869569][ C2] [ 3139.869569][ C2] which lock already depends on the new lock. [ 3139.869569][ C2] [ 3139.869849][ C2] [ 3139.869849][ C2] the existing dependency chain (in reverse order) is: [ 3139.870101][ C2] [ 3139.870101][ C2] -> #1 ((&tw->tw_timer)){+.-.}-{0:0}: [ 3139.870326][ C2] __lock_acquire+0xaf0/0x1570 [ 3139.870492][ C2] lock_acquire.part.0+0xeb/0x330 [ 3139.870651][ C2] __timer_delete_sync+0xe1/0x110 [ 3139.870803][ C2] inet_twsk_deschedule_put+0xec/0x150 [ 3139.870989][ C2] tcp_timewait_state_process+0x695/0xcf0 [ 3139.871188][ C2] tcp_v4_rcv+0x1abd/0x2d50 [ 3139.871347][ C2] ip_protocol_deliver_rcu+0x93/0x360 [ 3139.871533][ C2] ip_local_deliver_finish+0x2c2/0x4b0 [ 3139.871715][ C2] ip_local_deliver+0x19d/0x480 [ 3139.871862][ C2] ip_rcv+0x564/0x740 [ 3139.872006][ C2] __netif_receive_skb_one_core+0x166/0x1b0 [ 3139.872202][ C2] process_backlog+0x103/0x670 [ 3139.872351][ C2] __napi_poll.constprop.0+0xa2/0x460 [ 3139.872538][ C2] net_rx_action+0x49f/0xc00 [ 3139.872683][ C2] __do_softirq+0x1f8/0x5df [ 3139.872835][ C2] do_softirq+0x4d/0xa0 [ 3139.872983][ C2] __local_bh_enable_ip+0xf6/0x120 [ 3139.873137][ C2] inet_csk_listen_stop+0x21b/0xfd0 [ 3139.873286][ C2] __tcp_close+0xa76/0xe00 [ 3139.873431][ C2] tcp_close+0x24/0xc0 [ 3139.873585][ C2] inet_release+0x106/0x230 [ 3139.873733][ C2] __sock_release+0xa3/0x260 [ 3139.873884][ C2] sock_close+0x18/0x20 [ 3139.874033][ C2] __fput+0x1fc/0xa80 [ 3139.874188][ C2] __x64_sys_close+0x7c/0xd0 [ 3139.874337][ C2] do_syscall_64+0xc6/0x1e0 [ 3139.874489][ C2] entry_SYSCALL_64_after_hwframe+0x72/0x7a [ 3139.874674][ C2] [ 3139.874674][ C2] -> #0 (&hashinfo->ehash_locks[i]){+.-.}-{2:2}: [ 3139.874909][ C2] check_prev_add+0x182/0xce0 [ 3139.875059][ C2] validate_chain+0x71d/0x9b0 [ 3139.875209][ C2] __lock_acquire+0xaf0/0x1570 [ 3139.875354][ C2] lock_acquire.part.0+0xeb/0x330 [ 3139.875508][ C2] _raw_spin_lock+0x30/0x40 [ 3139.875651][ C2] tw_timer_handler+0xe9/0x130 [ 3139.875815][ C2] call_timer_fn+0x13b/0x230 [ 3139.875951][ C2] __run_timers+0x545/0x810 [ 3139.876089][ C2] run_timer_softirq+0x7a/0x1b0 [ 3139.876220][ C2] __do_softirq+0x1f8/0x5df [ 3139.876356][ C2] irq_exit_rcu+0x97/0xc0 [ 3139.876487][ C2] sysvec_apic_timer_interrupt+0x75/0x80 [ 3139.876659][ C2] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 3139.876827][ C2] default_idle+0xf/0x20 [ 3139.876957][ C2] default_idle_call+0x6d/0xb0 [ 3139.877088][ C2] cpuidle_idle_call+0x1f4/0x280 [ 3139.877229][ C2] do_idle+0xf9/0x160 [ 3139.877363][ C2] cpu_startup_entry+0x54/0x60 [ 3139.877502][ C2] start_secondary+0x21c/0x2b0 [ 3139.877644][ C2] common_startup_64+0x12c/0x138 [ 3139.877795][ C2] [ 3139.877795][ C2] other info that might help us debug this: [ 3139.877795][ C2] [ 3139.878051][ C2] Possible unsafe locking scenario: [ 3139.878051][ C2] [ 3139.878251][ C2] CPU0 CPU1 [ 3139.878389][ C2] ---- ---- [ 3139.878525][ C2] lock((&tw->tw_timer)); [ 3139.878659][ C2] lock(&hashinfo->ehash_locks[i]); [ 3139.878853][ C2] lock((&tw->tw_timer)); [ 3139.879047][ C2] lock(&hashinfo->ehash_locks[i]); [ 3139.879193][ C2] [ 3139.879193][ C2] *** DEADLOCK *** [ 3139.879193][ C2] [ 3139.879414][ C2] 1 lock held by swapper/2/0: [ 3139.879561][ C2] #0: ffffc90000230d68 ((&tw->tw_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 3139.879820][ C2] [ 3139.879820][ C2] stack backtrace: [ 3139.880003][ C2] CPU: 2 PID: 0 Comm: swapper/2 Not tainted 6.9.0-rc2-virtme #1 [ 3139.880225][ C2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 3139.880549][ C2] Call Trace: [ 3139.880661][ C2] [ 3139.880736][ C2] dump_stack_lvl+0x82/0xd0 [ 3139.880889][ C2] check_noncircular+0x2f9/0x3e0 [ 3139.881028][ C2] ? __pfx_check_noncircular+0x10/0x10 [ 3139.881178][ C2] ? find_held_lock+0x2c/0x110 [ 3139.881326][ C2] ? alloc_chain_hlocks+0x4e0/0x720 [ 3139.881458][ C2] check_prev_add+0x182/0xce0 [ 3139.881590][ C2] validate_chain+0x71d/0x9b0 [ 3139.881722][ C2] ? __pfx_validate_chain+0x10/0x10 [ 3139.881854][ C2] ? hlock_class+0x4e/0x130 [ 3139.881987][ C2] ? mark_lock+0x38/0x3e0 [ 3139.882104][ C2] __lock_acquire+0xaf0/0x1570 [ 3139.882240][ C2] ? __pfx_tw_timer_handler+0x10/0x10 [ 3139.882372][ C2] lock_acquire.part.0+0xeb/0x330 [ 3139.882506][ C2] ? tw_timer_handler+0xe9/0x130 [ 3139.882639][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 3139.882769][ C2] ? trace_lock_acquire+0x135/0x1c0 [ 3139.882898][ C2] ? tw_timer_handler+0xe9/0x130 [ 3139.883025][ C2] ? lock_acquire+0x32/0xc0 [ 3139.883164][ C2] ? tw_timer_handler+0xe9/0x130 [ 3139.883303][ C2] _raw_spin_lock+0x30/0x40 [ 3139.883434][ C2] ? tw_timer_handler+0xe9/0x130 [ 3139.883561][ C2] tw_timer_handler+0xe9/0x130 [ 3139.883696][ C2] call_timer_fn+0x13b/0x230 [ 3139.883828][ C2] ? call_timer_fn+0xe8/0x230 [ 3139.883957][ C2] ? call_timer_fn+0xe8/0x230 [ 3139.884089][ C2] ? __pfx_call_timer_fn+0x10/0x10 [ 3139.884229][ C2] ? mark_lock+0x38/0x3e0 [ 3139.884337][ C2] __run_timers+0x545/0x810 [ 3139.884465][ C2] ? __pfx_tw_timer_handler+0x10/0x10 [ 3139.884595][ C2] ? __pfx___run_timers+0x10/0x10 [ 3139.884725][ C2] ? do_raw_spin_lock+0x131/0x270 [ 3139.884857][ C2] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 3139.884985][ C2] ? lock_acquire+0x32/0xc0 [ 3139.885120][ C2] ? run_timer_softirq+0x72/0x1b0 [ 3139.885251][ C2] run_timer_softirq+0x7a/0x1b0 [ 3139.885381][ C2] __do_softirq+0x1f8/0x5df [ 3139.885516][ C2] irq_exit_rcu+0x97/0xc0 [ 3139.885614][ C2] sysvec_apic_timer_interrupt+0x75/0x80 [ 3139.885743][ C2] [ 3139.885810][ C2] [ 3139.885875][ C2] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 3139.886043][ C2] RIP: 0010:default_idle+0xf/0x20 [ 3139.886182][ C2] Code: 4c 01 c7 4c 29 c2 e9 72 ff ff ff 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 66 90 0f 00 2d 23 8d 32 00 fb f4 c3 cc cc cc cc 66 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 [ 3139.886646][ C2] RSP: 0018:ffffc9000015fdf8 EFLAGS: 00000242 [ 3139.886821][ C2] RAX: 000000000638d59b RBX: 1ffff9200002bfc1 RCX: ffffffff87f38e55 [ 3139.887019][ C2] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff856ac0e4 [ 3139.887214][ C2] RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed1006c2709c [ 3139.887429][ C2] R10: ffff8880361384e3 R11: ffff88803613de40 R12: 0000000000000000 [ 3139.887631][ C2] R13: ffff888001b8c5c0 R14: dffffc0000000000 R15: 0000000000000000 [ 3139.887836][ C2] ? ct_kernel_exit.constprop.0+0xc5/0xf0 [ 3139.887965][ C2] ? cpuidle_idle_call+0x1f4/0x280 [ 3139.888096][ C2] default_idle_call+0x6d/0xb0 [ 3139.888228][ C2] cpuidle_idle_call+0x1f4/0x280 [ 3139.888359][ C2] ? __pfx_cpuidle_idle_call+0x10/0x10 [ 3139.888494][ C2] ? tsc_verify_tsc_adjust+0x5e/0x2b0 [ 3139.888633][ C2] do_idle+0xf9/0x160 [ 3139.888734][ C2] cpu_startup_entry+0x54/0x60 [ 3139.888943][ C2] start_secondary+0x21c/0x2b0 [ 3139.889073][ C2] ? __pfx_start_secondary+0x10/0x10 [ 3139.889282][ C2] common_startup_64+0x12c/0x138 [ 3139.889413][ C2] [ 3186.000277][ T76] kmemleak: 1080 new suspected memory leaks (see /sys/kernel/debug/kmemleak)