[ 1428.716216][ C3] [ 1428.716421][ C3] ====================================================== [ 1428.716588][ C3] WARNING: possible circular locking dependency detected [ 1428.716754][ C3] 6.11.0-rc5-virtme #1 Not tainted [ 1428.716893][ C3] ------------------------------------------------------ [ 1428.717067][ C3] swapper/3/0 is trying to acquire lock: [ 1428.717202][ C3] ffff888006ae8ae0 (&msk->pm.lock){+.-.}-{2:2}, at: mptcp_pm_add_timer+0x136/0x420 [ 1428.717458][ C3] [ 1428.717458][ C3] but task is already holding lock: [ 1428.717660][ C3] ffffc90000298d68 ((&add_entry->add_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 1428.717899][ C3] [ 1428.717899][ C3] which lock already depends on the new lock. [ 1428.717899][ C3] [ 1428.718162][ C3] [ 1428.718162][ C3] the existing dependency chain (in reverse order) is: [ 1428.718396][ C3] [ 1428.718396][ C3] -> #1 ((&add_entry->add_timer)){+.-.}-{0:0}: [ 1428.718595][ C3] __lock_acquire+0xb35/0x1560 [ 1428.718735][ C3] lock_acquire.part.0+0xeb/0x330 [ 1428.718869][ C3] __timer_delete_sync+0xe1/0x110 [ 1428.719002][ C3] sk_stop_timer_sync+0x16/0x60 [ 1428.719141][ C3] mptcp_pm_del_add_timer+0x11e/0x150 [ 1428.719318][ C3] mptcp_incoming_options+0xf39/0x16d0 [ 1428.719504][ C3] tcp_data_queue+0x7e7/0x23e0 [ 1428.719638][ C3] tcp_rcv_established+0x6be/0x1f30 [ 1428.719769][ C3] tcp_v4_do_rcv+0x4cc/0x8d0 [ 1428.719906][ C3] tcp_v4_rcv+0x2554/0x33b0 [ 1428.720040][ C3] ip_protocol_deliver_rcu+0x93/0x360 [ 1428.720208][ C3] ip_local_deliver_finish+0x2c2/0x4b0 [ 1428.720373][ C3] ip_local_deliver+0x19d/0x480 [ 1428.720508][ C3] ip_rcv+0x4a3/0x660 [ 1428.720642][ C3] __netif_receive_skb_one_core+0x166/0x1b0 [ 1428.720810][ C3] process_backlog+0x372/0x1180 [ 1428.720944][ C3] __napi_poll.constprop.0+0xa2/0x460 [ 1428.721112][ C3] net_rx_action+0x50e/0xce0 [ 1428.721244][ C3] handle_softirqs+0x1f9/0x5c0 [ 1428.721378][ C3] do_softirq+0x4d/0xa0 [ 1428.721512][ C3] __local_bh_enable_ip+0xf6/0x120 [ 1428.721652][ C3] mptcp_pm_nl_addr_send_ack+0x1fe/0x300 [ 1428.721817][ C3] mptcp_pm_nl_work+0x1cd/0x430 [ 1428.721948][ C3] mptcp_worker+0xd1/0xac0 [ 1428.722083][ C3] process_one_work+0xe3b/0x1670 [ 1428.722222][ C3] worker_thread+0x58c/0xcb0 [ 1428.722353][ C3] kthread+0x28a/0x350 [ 1428.722484][ C3] ret_from_fork+0x31/0x70 [ 1428.722619][ C3] ret_from_fork_asm+0x1a/0x30 [ 1428.722759][ C3] [ 1428.722759][ C3] -> #0 (&msk->pm.lock){+.-.}-{2:2}: [ 1428.722959][ C3] check_prev_add+0x182/0xce0 [ 1428.723091][ C3] validate_chain+0x71d/0x9b0 [ 1428.723221][ C3] __lock_acquire+0xb35/0x1560 [ 1428.723356][ C3] lock_acquire.part.0+0xeb/0x330 [ 1428.723487][ C3] _raw_spin_lock_bh+0x38/0x50 [ 1428.723625][ C3] mptcp_pm_add_timer+0x136/0x420 [ 1428.723755][ C3] call_timer_fn+0x13b/0x230 [ 1428.723895][ C3] __run_timers+0x545/0x810 [ 1428.724028][ C3] run_timer_softirq+0xe8/0x1b0 [ 1428.724158][ C3] handle_softirqs+0x1f9/0x5c0 [ 1428.724290][ C3] irq_exit_rcu+0x99/0xc0 [ 1428.724424][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 1428.724589][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 1428.724761][ C3] default_idle+0xf/0x20 [ 1428.724894][ C3] default_idle_call+0x6d/0xb0 [ 1428.725028][ C3] cpuidle_idle_call+0x1f4/0x280 [ 1428.725162][ C3] do_idle+0xf9/0x160 [ 1428.725291][ C3] cpu_startup_entry+0x54/0x60 [ 1428.725424][ C3] start_secondary+0x21c/0x2b0 [ 1428.725569][ C3] common_startup_64+0x12c/0x138 [ 1428.725707][ C3] [ 1428.725707][ C3] other info that might help us debug this: [ 1428.725707][ C3] [ 1428.725961][ C3] Possible unsafe locking scenario: [ 1428.725961][ C3] [ 1428.726159][ C3] CPU0 CPU1 [ 1428.726289][ C3] ---- ---- [ 1428.726418][ C3] lock((&add_entry->add_timer)); [ 1428.726551][ C3] lock(&msk->pm.lock); [ 1428.726720][ C3] lock((&add_entry->add_timer)); [ 1428.726920][ C3] lock(&msk->pm.lock); [ 1428.727021][ C3] [ 1428.727021][ C3] *** DEADLOCK *** [ 1428.727021][ C3] [ 1428.727213][ C3] 1 lock held by swapper/3/0: [ 1428.727345][ C3] #0: ffffc90000298d68 ((&add_entry->add_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 1428.727615][ C3] [ 1428.727615][ C3] stack backtrace: [ 1428.727787][ C3] CPU: 3 UID: 0 PID: 0 Comm: swapper/3 Not tainted 6.11.0-rc5-virtme #1 [ 1428.727984][ C3] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 1428.728274][ C3] Call Trace: [ 1428.728378][ C3] <IRQ> [ 1428.728447][ C3] dump_stack_lvl+0x82/0xd0 [ 1428.728586][ C3] check_noncircular+0x2f9/0x3e0 [ 1428.728720][ C3] ? unwind_next_frame+0x1d2/0x1d00 [ 1428.728857][ C3] ? __pfx_check_noncircular+0x10/0x10 [ 1428.728990][ C3] ? __pfx_unwind_next_frame+0x10/0x10 [ 1428.729122][ C3] ? alloc_chain_hlocks+0x4e0/0x720 [ 1428.729258][ C3] check_prev_add+0x182/0xce0 [ 1428.729391][ C3] validate_chain+0x71d/0x9b0 [ 1428.729527][ C3] ? __pfx_validate_chain+0x10/0x10 [ 1428.729658][ C3] ? hlock_class+0x4e/0x130 [ 1428.729794][ C3] ? mark_lock+0x38/0x3e0 [ 1428.729894][ C3] __lock_acquire+0xb35/0x1560 [ 1428.730028][ C3] lock_acquire.part.0+0xeb/0x330 [ 1428.730160][ C3] ? mptcp_pm_add_timer+0x136/0x420 [ 1428.730292][ C3] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 1428.730422][ C3] ? trace_lock_acquire+0x14d/0x1f0 [ 1428.730552][ C3] ? __pfx_mptcp_pm_add_timer+0x10/0x10 [ 1428.730685][ C3] ? mptcp_pm_add_timer+0x136/0x420 [ 1428.730816][ C3] ? lock_acquire+0x32/0xc0 [ 1428.730949][ C3] ? mptcp_pm_add_timer+0x136/0x420 [ 1428.731080][ C3] _raw_spin_lock_bh+0x38/0x50 [ 1428.731213][ C3] ? mptcp_pm_add_timer+0x136/0x420 [ 1428.731344][ C3] mptcp_pm_add_timer+0x136/0x420 [ 1428.731475][ C3] ? __pfx_mptcp_pm_add_timer+0x10/0x10 [ 1428.731605][ C3] ? __pfx_call_timer_fn+0x1/0x10 [ 1428.731738][ C3] ? lock_acquire+0x32/0xc0 [ 1428.731871][ C3] ? __pfx_mptcp_pm_add_timer+0x10/0x10 [ 1428.732001][ C3] call_timer_fn+0x13b/0x230 [ 1428.732130][ C3] ? call_timer_fn+0xe8/0x230 [ 1428.732259][ C3] ? call_timer_fn+0xe8/0x230 [ 1428.732391][ C3] ? __pfx_call_timer_fn+0x10/0x10 [ 1428.732523][ C3] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 1428.732655][ C3] __run_timers+0x545/0x810 [ 1428.732785][ C3] ? __pfx_mptcp_pm_add_timer+0x10/0x10 [ 1428.732921][ C3] ? __pfx___run_timers+0x10/0x10 [ 1428.733056][ C3] ? do_raw_spin_lock+0x131/0x270 [ 1428.733188][ C3] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 1428.733319][ C3] ? lock_acquire+0x32/0xc0 [ 1428.733452][ C3] ? run_timer_softirq+0xe0/0x1b0 [ 1428.733586][ C3] run_timer_softirq+0xe8/0x1b0 [ 1428.733717][ C3] handle_softirqs+0x1f9/0x5c0 [ 1428.733850][ C3] irq_exit_rcu+0x99/0xc0 [ 1428.733952][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 1428.734092][ C3] </IRQ> [ 1428.734161][ C3] <TASK> [ 1428.734227][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 1428.734391][ C3] RIP: 0010:default_idle+0xf/0x20 [ 1428.734528][ C3] 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 c3 37 3c 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 [ 1428.734993][ C3] RSP: 0018:ffffc9000017fdf8 EFLAGS: 00000246 [ 1428.735165][ C3] RAX: 0000000001fcdfbb RBX: 1ffff9200002ffc1 RCX: ffffffffbaa9d975 [ 1428.735361][ C3] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffb82a6b94 [ 1428.735564][ C3] RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed1005ef7098 [ 1428.735763][ C3] R10: ffff88802f7b84c3 R11: ffff88802f7ad9b0 R12: 0000000000000000 [ 1428.735959][ C3] R13: ffff888001baa300 R14: dffffc0000000000 R15: 0000000000000000 [ 1428.736163][ C3] ? ct_kernel_exit.constprop.0+0xc5/0xf0 [ 1428.736298][ C3] ? cpuidle_idle_call+0x1f4/0x280 [ 1428.736431][ C3] default_idle_call+0x6d/0xb0 [ 1428.736561][ C3] cpuidle_idle_call+0x1f4/0x280 [ 1428.736695][ C3] ? __pfx_cpuidle_idle_call+0x10/0x10 [ 1428.736830][ C3] ? tsc_verify_tsc_adjust+0x5e/0x2b0 [ 1428.736963][ C3] do_idle+0xf9/0x160 [ 1428.737065][ C3] cpu_startup_entry+0x54/0x60 [ 1428.737196][ C3] start_secondary+0x21c/0x2b0 [ 1428.737328][ C3] ? __pfx_start_secondary+0x10/0x10 [ 1428.737464][ C3] common_startup_64+0x12c/0x138 [ 1428.737598][ C3] </TASK> [ 3402.628908][T27589] pm_nl_ctl (27589) used greatest stack depth: 22752 bytes left