[ 4339.497719][ C2] [ 4339.497952][ C2] ====================================================== [ 4339.498130][ C2] WARNING: possible circular locking dependency detected [ 4339.498297][ C2] 6.9.0-rc2-virtme #1 Not tainted [ 4339.498436][ C2] ------------------------------------------------------ [ 4339.498599][ C2] swapper/2/0 is trying to acquire lock: [ 4339.498734][ C2] ffff888003c93918 (&hashinfo->ehash_locks[i]){+.-.}-{2:2}, at: tw_timer_handler+0xe9/0x130 [ 4339.499036][ C2] [ 4339.499036][ C2] but task is already holding lock: [ 4339.499237][ C2] ffffc90000230d68 ((&tw->tw_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 4339.499502][ C2] [ 4339.499502][ C2] which lock already depends on the new lock. [ 4339.499502][ C2] [ 4339.499768][ C2] [ 4339.499768][ C2] the existing dependency chain (in reverse order) is: [ 4339.499995][ C2] [ 4339.499995][ C2] -> #1 ((&tw->tw_timer)){+.-.}-{0:0}: [ 4339.500199][ C2] __lock_acquire+0xaf0/0x1570 [ 4339.500347][ C2] lock_acquire.part.0+0xeb/0x330 [ 4339.500486][ C2] __timer_delete_sync+0xe1/0x110 [ 4339.500621][ C2] inet_twsk_deschedule_put+0xec/0x150 [ 4339.500811][ C2] inet_twsk_purge+0x4c8/0x660 [ 4339.500949][ C2] tcp_twsk_purge+0x112/0x160 [ 4339.501090][ C2] tcp_sk_exit_batch+0x17/0x120 [ 4339.501224][ C2] cleanup_net+0x4f3/0xb60 [ 4339.501375][ C2] process_one_work+0xe2c/0x1730 [ 4339.501516][ C2] worker_thread+0x587/0xd30 [ 4339.501649][ C2] kthread+0x28a/0x350 [ 4339.501793][ C2] ret_from_fork+0x31/0x70 [ 4339.501942][ C2] ret_from_fork_asm+0x1a/0x30 [ 4339.502089][ C2] [ 4339.502089][ C2] -> #0 (&hashinfo->ehash_locks[i]){+.-.}-{2:2}: [ 4339.502294][ C2] check_prev_add+0x182/0xce0 [ 4339.502434][ C2] validate_chain+0x71d/0x9b0 [ 4339.502571][ C2] __lock_acquire+0xaf0/0x1570 [ 4339.502704][ C2] lock_acquire.part.0+0xeb/0x330 [ 4339.502840][ C2] _raw_spin_lock+0x30/0x40 [ 4339.502984][ C2] tw_timer_handler+0xe9/0x130 [ 4339.503119][ C2] call_timer_fn+0x13b/0x230 [ 4339.503255][ C2] __run_timers+0x545/0x810 [ 4339.503391][ C2] run_timer_softirq+0x7a/0x1b0 [ 4339.503532][ C2] __do_softirq+0x1f8/0x5df [ 4339.503666][ C2] irq_exit_rcu+0x97/0xc0 [ 4339.503813][ C2] sysvec_apic_timer_interrupt+0x75/0x80 [ 4339.503986][ C2] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 4339.504163][ C2] default_idle+0xf/0x20 [ 4339.504297][ C2] default_idle_call+0x6d/0xb0 [ 4339.504434][ C2] cpuidle_idle_call+0x1f4/0x280 [ 4339.504575][ C2] do_idle+0xf9/0x160 [ 4339.504713][ C2] cpu_startup_entry+0x54/0x60 [ 4339.504853][ C2] start_secondary+0x21c/0x2b0 [ 4339.504993][ C2] common_startup_64+0x12c/0x138 [ 4339.505134][ C2] [ 4339.505134][ C2] other info that might help us debug this: [ 4339.505134][ C2] [ 4339.505402][ C2] Possible unsafe locking scenario: [ 4339.505402][ C2] [ 4339.505608][ C2] CPU0 CPU1 [ 4339.505743][ C2] ---- ---- [ 4339.505960][ C2] lock((&tw->tw_timer)); [ 4339.506097][ C2] lock(&hashinfo->ehash_locks[i]); [ 4339.506301][ C2] lock((&tw->tw_timer)); [ 4339.506470][ C2] lock(&hashinfo->ehash_locks[i]); [ 4339.506610][ C2] [ 4339.506610][ C2] *** DEADLOCK *** [ 4339.506610][ C2] [ 4339.506890][ C2] 1 lock held by swapper/2/0: [ 4339.507023][ C2] #0: ffffc90000230d68 ((&tw->tw_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 4339.507264][ C2] [ 4339.507264][ C2] stack backtrace: [ 4339.507431][ C2] CPU: 2 PID: 0 Comm: swapper/2 Not tainted 6.9.0-rc2-virtme #1 [ 4339.507631][ C2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 4339.507934][ C2] Call Trace: [ 4339.508038][ C2] [ 4339.508108][ C2] dump_stack_lvl+0x82/0xd0 [ 4339.508255][ C2] check_noncircular+0x2f9/0x3e0 [ 4339.508467][ C2] ? __pfx_check_noncircular+0x10/0x10 [ 4339.508602][ C2] ? common_startup_64+0x12c/0x138 [ 4339.508735][ C2] ? alloc_chain_hlocks+0x4e0/0x720 [ 4339.508871][ C2] check_prev_add+0x182/0xce0 [ 4339.509080][ C2] validate_chain+0x71d/0x9b0 [ 4339.509216][ C2] ? __pfx_validate_chain+0x10/0x10 [ 4339.509424][ C2] ? hlock_class+0x4e/0x130 [ 4339.509553][ C2] ? mark_lock+0x38/0x3e0 [ 4339.509658][ C2] __lock_acquire+0xaf0/0x1570 [ 4339.509876][ C2] ? __pfx_tw_timer_handler+0x10/0x10 [ 4339.510012][ C2] lock_acquire.part.0+0xeb/0x330 [ 4339.510150][ C2] ? tw_timer_handler+0xe9/0x130 [ 4339.510288][ C2] ? __pfx_tw_timer_handler+0x10/0x10 [ 4339.510497][ C2] ? lock_acquire.part.0+0xeb/0x330 [ 4339.510632][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 4339.510771][ C2] ? trace_lock_acquire+0x135/0x1c0 [ 4339.510992][ C2] ? tw_timer_handler+0xe9/0x130 [ 4339.511126][ C2] ? lock_acquire+0x32/0xc0 [ 4339.511259][ C2] ? tw_timer_handler+0xe9/0x130 [ 4339.511475][ C2] _raw_spin_lock+0x30/0x40 [ 4339.511609][ C2] ? tw_timer_handler+0xe9/0x130 [ 4339.511742][ C2] tw_timer_handler+0xe9/0x130 [ 4339.511959][ C2] call_timer_fn+0x13b/0x230 [ 4339.512103][ C2] ? call_timer_fn+0xe8/0x230 [ 4339.512232][ C2] ? call_timer_fn+0xe8/0x230 [ 4339.512376][ C2] ? __pfx_call_timer_fn+0x10/0x10 [ 4339.512590][ C2] ? mark_lock+0x38/0x3e0 [ 4339.512699][ C2] __run_timers+0x545/0x810 [ 4339.512838][ C2] ? __pfx_tw_timer_handler+0x10/0x10 [ 4339.512976][ C2] ? __pfx___run_timers+0x10/0x10 [ 4339.513188][ C2] ? do_raw_spin_lock+0x131/0x270 [ 4339.513319][ C2] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 4339.513452][ C2] ? lock_acquire+0x32/0xc0 [ 4339.513589][ C2] ? run_timer_softirq+0x72/0x1b0 [ 4339.513731][ C2] run_timer_softirq+0x7a/0x1b0 [ 4339.513958][ C2] __do_softirq+0x1f8/0x5df [ 4339.514094][ C2] irq_exit_rcu+0x97/0xc0 [ 4339.514205][ C2] sysvec_apic_timer_interrupt+0x75/0x80 [ 4339.514336][ C2] [ 4339.514405][ C2] [ 4339.514549][ C2] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 4339.514711][ C2] RIP: 0010:default_idle+0xf/0x20 [ 4339.514851][ 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 [ 4339.515489][ C2] RSP: 0018:ffffc9000015fdf8 EFLAGS: 00000246 [ 4339.515664][ C2] RAX: 0000000007289ff5 RBX: 1ffff9200002bfc1 RCX: ffffffffa1b38e55 [ 4339.515944][ C2] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff9f2ac0e4 [ 4339.516139][ C2] RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed1006c2709c [ 4339.516335][ C2] R10: ffff8880361384e3 R11: 1ffff110003ab28c R12: 0000000000000000 [ 4339.516610][ C2] R13: ffff888001b8c5c0 R14: dffffc0000000000 R15: 0000000000000000 [ 4339.516893][ C2] ? ct_kernel_exit.constprop.0+0xc5/0xf0 [ 4339.517022][ C2] ? cpuidle_idle_call+0x1f4/0x280 [ 4339.517155][ C2] default_idle_call+0x6d/0xb0 [ 4339.517287][ C2] cpuidle_idle_call+0x1f4/0x280 [ 4339.517419][ C2] ? __pfx_cpuidle_idle_call+0x10/0x10 [ 4339.517549][ C2] ? tsc_verify_tsc_adjust+0x5e/0x2b0 [ 4339.517691][ C2] do_idle+0xf9/0x160 [ 4339.517794][ C2] cpu_startup_entry+0x54/0x60 [ 4339.517926][ C2] start_secondary+0x21c/0x2b0 [ 4339.518139][ C2] ? __pfx_start_secondary+0x10/0x10 [ 4339.518274][ C2] common_startup_64+0x12c/0x138 [ 4339.518410][ C2] [ 4430.584195][ T76] kmemleak: 2024 new suspected memory leaks (see /sys/kernel/debug/kmemleak)