[ 3061.768754][ C0] [ 3061.769004][ C0] ====================================================== [ 3061.769236][ C0] WARNING: possible circular locking dependency detected [ 3061.769474][ C0] 6.9.0-rc2-virtme #1 Not tainted [ 3061.769661][ C0] ------------------------------------------------------ [ 3061.769884][ C0] swapper/0/0 is trying to acquire lock: [ 3061.770063][ C0] ffff888003a93818 (&hashinfo->ehash_locks[i]){+.-.}-{2:2}, at: tw_timer_handler+0xe9/0x130 [ 3061.770459][ C0] [ 3061.770459][ C0] but task is already holding lock: [ 3061.770720][ C0] ffffc90000007d68 ((&tw->tw_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 3061.771044][ C0] [ 3061.771044][ C0] which lock already depends on the new lock. [ 3061.771044][ C0] [ 3061.771394][ C0] [ 3061.771394][ C0] the existing dependency chain (in reverse order) is: [ 3061.771701][ C0] [ 3061.771701][ C0] -> #1 ((&tw->tw_timer)){+.-.}-{0:0}: [ 3061.771969][ C0] __lock_acquire+0xaf0/0x1570 [ 3061.772161][ C0] lock_acquire.part.0+0xeb/0x330 [ 3061.772343][ C0] __timer_delete_sync+0xe1/0x110 [ 3061.772523][ C0] inet_twsk_deschedule_put+0xec/0x150 [ 3061.772743][ C0] inet_twsk_purge+0x4c8/0x660 [ 3061.772919][ C0] tcp_twsk_purge+0x112/0x160 [ 3061.773105][ C0] tcp_sk_exit_batch+0x17/0x120 [ 3061.773280][ C0] cleanup_net+0x4f3/0xb60 [ 3061.773468][ C0] process_one_work+0xe2c/0x1730 [ 3061.773649][ C0] worker_thread+0x587/0xd30 [ 3061.773826][ C0] kthread+0x28a/0x350 [ 3061.774008][ C0] ret_from_fork+0x31/0x70 [ 3061.774186][ C0] ret_from_fork_asm+0x1a/0x30 [ 3061.774363][ C0] [ 3061.774363][ C0] -> #0 (&hashinfo->ehash_locks[i]){+.-.}-{2:2}: [ 3061.774641][ C0] check_prev_add+0x182/0xce0 [ 3061.774819][ C0] validate_chain+0x71d/0x9b0 [ 3061.774992][ C0] __lock_acquire+0xaf0/0x1570 [ 3061.775170][ C0] lock_acquire.part.0+0xeb/0x330 [ 3061.775347][ C0] _raw_spin_lock+0x30/0x40 [ 3061.775538][ C0] tw_timer_handler+0xe9/0x130 [ 3061.775719][ C0] call_timer_fn+0x13b/0x230 [ 3061.775897][ C0] __run_timers+0x545/0x810 [ 3061.776070][ C0] run_timer_softirq+0x7a/0x1b0 [ 3061.776247][ C0] __do_softirq+0x1f8/0x5df [ 3061.776425][ C0] irq_exit_rcu+0x97/0xc0 [ 3061.776602][ C0] sysvec_apic_timer_interrupt+0x75/0x80 [ 3061.776821][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 3061.777036][ C0] default_idle+0xf/0x20 [ 3061.777208][ C0] default_idle_call+0x6d/0xb0 [ 3061.777388][ C0] cpuidle_idle_call+0x1f4/0x280 [ 3061.777564][ C0] do_idle+0xf9/0x160 [ 3061.777738][ C0] cpu_startup_entry+0x54/0x60 [ 3061.777912][ C0] rest_init+0x14f/0x260 [ 3061.778098][ C0] start_kernel+0x318/0x3d0 [ 3061.778280][ C0] x86_64_start_reservations+0x18/0x30 [ 3061.778506][ C0] x86_64_start_kernel+0xba/0x110 [ 3061.778686][ C0] common_startup_64+0x12c/0x138 [ 3061.778866][ C0] [ 3061.778866][ C0] other info that might help us debug this: [ 3061.778866][ C0] [ 3061.779208][ C0] Possible unsafe locking scenario: [ 3061.779208][ C0] [ 3061.779473][ C0] CPU0 CPU1 [ 3061.779655][ C0] ---- ---- [ 3061.779829][ C0] lock((&tw->tw_timer)); [ 3061.780006][ C0] lock(&hashinfo->ehash_locks[i]); [ 3061.780270][ C0] lock((&tw->tw_timer)); [ 3061.780490][ C0] lock(&hashinfo->ehash_locks[i]); [ 3061.780664][ C0] [ 3061.780664][ C0] *** DEADLOCK *** [ 3061.780664][ C0] [ 3061.780918][ C0] 1 lock held by swapper/0/0: [ 3061.781095][ C0] #0: ffffc90000007d68 ((&tw->tw_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 3061.781411][ C0] [ 3061.781411][ C0] stack backtrace: [ 3061.781648][ C0] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.9.0-rc2-virtme #1 [ 3061.781918][ C0] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 3061.782319][ C0] Call Trace: [ 3061.782459][ C0] <IRQ> [ 3061.782552][ C0] dump_stack_lvl+0x82/0xd0 [ 3061.782749][ C0] check_noncircular+0x2f9/0x3e0 [ 3061.783028][ C0] ? __pfx_check_noncircular+0x10/0x10 [ 3061.783212][ C0] ? trace_sched_overutilized_tp+0xff/0x170 [ 3061.783443][ C0] ? alloc_chain_hlocks+0x4e0/0x720 [ 3061.783721][ C0] check_prev_add+0x182/0xce0 [ 3061.783903][ C0] validate_chain+0x71d/0x9b0 [ 3061.784082][ C0] ? __pfx_validate_chain+0x10/0x10 [ 3061.784360][ C0] ? hlock_class+0x4e/0x130 [ 3061.784541][ C0] ? mark_lock+0x38/0x3e0 [ 3061.784674][ C0] __lock_acquire+0xaf0/0x1570 [ 3061.784950][ C0] ? __pfx_tw_timer_handler+0x10/0x10 [ 3061.785130][ C0] lock_acquire.part.0+0xeb/0x330 [ 3061.785303][ C0] ? tw_timer_handler+0xe9/0x130 [ 3061.785572][ C0] ? __pfx_tw_timer_handler+0x10/0x10 [ 3061.785746][ C0] ? lock_acquire.part.0+0xeb/0x330 [ 3061.785925][ C0] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 3061.786101][ C0] ? trace_lock_acquire+0x135/0x1c0 [ 3061.786386][ C0] ? tw_timer_handler+0xe9/0x130 [ 3061.786559][ C0] ? lock_acquire+0x32/0xc0 [ 3061.786731][ C0] ? tw_timer_handler+0xe9/0x130 [ 3061.786904][ C0] _raw_spin_lock+0x30/0x40 [ 3061.787177][ C0] ? tw_timer_handler+0xe9/0x130 [ 3061.787348][ C0] tw_timer_handler+0xe9/0x130 [ 3061.787524][ C0] call_timer_fn+0x13b/0x230 [ 3061.787826][ C0] ? call_timer_fn+0xe8/0x230 [ 3061.788003][ C0] ? call_timer_fn+0xe8/0x230 [ 3061.788265][ C0] ? __pfx_call_timer_fn+0x10/0x10 [ 3061.788442][ C0] ? mark_lock+0x38/0x3e0 [ 3061.788577][ C0] __run_timers+0x545/0x810 [ 3061.788755][ C0] ? __pfx_tw_timer_handler+0x10/0x10 [ 3061.789021][ C0] ? __pfx___run_timers+0x10/0x10 [ 3061.789306][ C0] ? do_raw_spin_lock+0x131/0x270 [ 3061.789492][ C0] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 3061.789674][ C0] ? lock_acquire+0x32/0xc0 [ 3061.789935][ C0] ? run_timer_softirq+0x72/0x1b0 [ 3061.790113][ C0] run_timer_softirq+0x7a/0x1b0 [ 3061.790293][ C0] __do_softirq+0x1f8/0x5df [ 3061.790467][ C0] irq_exit_rcu+0x97/0xc0 [ 3061.790689][ C0] sysvec_apic_timer_interrupt+0x75/0x80 [ 3061.790864][ C0] </IRQ> [ 3061.790956][ C0] <TASK> [ 3061.791139][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 3061.791362][ C0] RIP: 0010:default_idle+0xf/0x20 [ 3061.791549][ C0] 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 <fa> c3 cc cc cc cc 66 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 [ 3061.792275][ C0] RSP: 0018:ffffffff89e07e00 EFLAGS: 00000242 [ 3061.792597][ C0] RAX: 000000000322b59b RBX: 1ffffffff13c0fc2 RCX: ffffffff88f38e55 [ 3061.792866][ C0] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff866ac0e4 [ 3061.793231][ C0] RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed1006c0709c [ 3061.793497][ C0] R10: ffff8880360384e3 R11: ffff88803602d9b0 R12: 0000000000000000 [ 3061.793845][ C0] R13: ffffffff89e31000 R14: dffffc0000000000 R15: 0000000000014770 [ 3061.794107][ C0] ? ct_kernel_exit.constprop.0+0xc5/0xf0 [ 3061.794372][ C0] ? cpuidle_idle_call+0x1f4/0x280 [ 3061.794576][ C0] default_idle_call+0x6d/0xb0 [ 3061.794748][ C0] cpuidle_idle_call+0x1f4/0x280 [ 3061.794922][ C0] ? __pfx_cpuidle_idle_call+0x10/0x10 [ 3061.795183][ C0] ? tsc_verify_tsc_adjust+0x5e/0x2b0 [ 3061.795361][ C0] do_idle+0xf9/0x160 [ 3061.795497][ C0] cpu_startup_entry+0x54/0x60 [ 3061.795763][ C0] rest_init+0x14f/0x260 [ 3061.795895][ C0] start_kernel+0x318/0x3d0 [ 3061.796158][ C0] x86_64_start_reservations+0x18/0x30 [ 3061.796329][ C0] x86_64_start_kernel+0xba/0x110 [ 3061.796499][ C0] common_startup_64+0x12c/0x138 [ 3061.796676][ C0] </TASK> [ 3185.585461][ T76] kmemleak: 570 new suspected memory leaks (see /sys/kernel/debug/kmemleak)