[ 456.323568][ T2867] netem: version 1.3 [ 642.618534][ C3] [ 642.618748][ C3] ====================================================== [ 642.619047][ C3] WARNING: possible circular locking dependency detected [ 642.619276][ C3] 6.11.0-rc5-virtme #1 Not tainted [ 642.619429][ C3] ------------------------------------------------------ [ 642.619648][ C3] swapper/3/0 is trying to acquire lock: [ 642.619822][ C3] ffff88800584caa0 (&msk->pm.lock){+.-.}-{2:2}, at: mptcp_pm_add_timer+0x136/0x420 [ 642.620168][ C3] [ 642.620168][ C3] but task is already holding lock: [ 642.620543][ C3] ffffc90000298d68 ((&add_entry->add_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 642.620998][ C3] [ 642.620998][ C3] which lock already depends on the new lock. [ 642.620998][ C3] [ 642.621401][ C3] [ 642.621401][ C3] the existing dependency chain (in reverse order) is: [ 642.621702][ C3] [ 642.621702][ C3] -> #1 ((&add_entry->add_timer)){+.-.}-{0:0}: [ 642.622014][ C3] __lock_acquire+0xb35/0x1560 [ 642.622267][ C3] lock_acquire.part.0+0xeb/0x330 [ 642.622449][ C3] __timer_delete_sync+0xe1/0x110 [ 642.622633][ C3] sk_stop_timer_sync+0x16/0x60 [ 642.622811][ C3] mptcp_pm_del_add_timer+0x11e/0x150 [ 642.623030][ C3] mptcp_incoming_options+0xf39/0x16d0 [ 642.623271][ C3] tcp_data_queue+0x7e7/0x23e0 [ 642.623475][ C3] tcp_rcv_established+0x6be/0x1f30 [ 642.623722][ C3] tcp_v4_do_rcv+0x4cc/0x8d0 [ 642.623962][ C3] tcp_v4_rcv+0x2554/0x33b0 [ 642.624160][ C3] ip_protocol_deliver_rcu+0x93/0x360 [ 642.624372][ C3] ip_local_deliver_finish+0x2c2/0x4b0 [ 642.624597][ C3] ip_local_deliver+0x19d/0x480 [ 642.624784][ C3] ip_rcv+0x4a3/0x660 [ 642.624982][ C3] __netif_receive_skb_one_core+0x166/0x1b0 [ 642.625264][ C3] process_backlog+0x372/0x1180 [ 642.625546][ C3] __napi_poll.constprop.0+0xa2/0x460 [ 642.625870][ C3] net_rx_action+0x50e/0xce0 [ 642.626031][ C3] handle_softirqs+0x1f9/0x5c0 [ 642.626222][ C3] do_softirq+0x4d/0xa0 [ 642.626413][ C3] __local_bh_enable_ip+0xf6/0x120 [ 642.626597][ C3] mptcp_pm_nl_addr_send_ack+0x1fe/0x300 [ 642.626890][ C3] mptcp_pm_nl_work+0x1cd/0x430 [ 642.627129][ C3] mptcp_worker+0xd1/0xac0 [ 642.627376][ C3] process_one_work+0xe3b/0x1670 [ 642.627584][ C3] worker_thread+0x58c/0xcb0 [ 642.627755][ C3] kthread+0x28a/0x350 [ 642.627931][ C3] ret_from_fork+0x31/0x70 [ 642.628117][ C3] ret_from_fork_asm+0x1a/0x30 [ 642.628281][ C3] [ 642.628281][ C3] -> #0 (&msk->pm.lock){+.-.}-{2:2}: [ 642.628635][ C3] check_prev_add+0x182/0xce0 [ 642.628907][ C3] validate_chain+0x71d/0x9b0 [ 642.629172][ C3] __lock_acquire+0xb35/0x1560 [ 642.629411][ C3] lock_acquire.part.0+0xeb/0x330 [ 642.629699][ C3] _raw_spin_lock_bh+0x38/0x50 [ 642.629931][ C3] mptcp_pm_add_timer+0x136/0x420 [ 642.630187][ C3] call_timer_fn+0x13b/0x230 [ 642.630413][ C3] __run_timers+0x545/0x810 [ 642.630629][ C3] run_timer_softirq+0xe8/0x1b0 [ 642.630799][ C3] handle_softirqs+0x1f9/0x5c0 [ 642.630960][ C3] irq_exit_rcu+0x99/0xc0 [ 642.631125][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 642.631336][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 642.631534][ C3] default_idle+0xf/0x20 [ 642.631705][ C3] default_idle_call+0x6d/0xb0 [ 642.631864][ C3] cpuidle_idle_call+0x1f4/0x280 [ 642.632034][ C3] do_idle+0xf9/0x160 [ 642.632208][ C3] cpu_startup_entry+0x54/0x60 [ 642.632387][ C3] start_secondary+0x21c/0x2b0 [ 642.632558][ C3] common_startup_64+0x12c/0x138 [ 642.632731][ C3] [ 642.632731][ C3] other info that might help us debug this: [ 642.632731][ C3] [ 642.633056][ C3] Possible unsafe locking scenario: [ 642.633056][ C3] [ 642.633308][ C3] CPU0 CPU1 [ 642.633478][ C3] ---- ---- [ 642.633642][ C3] lock((&add_entry->add_timer)); [ 642.633816][ C3] lock(&msk->pm.lock); [ 642.634029][ C3] lock((&add_entry->add_timer)); [ 642.634286][ C3] lock(&msk->pm.lock); [ 642.634415][ C3] [ 642.634415][ C3] *** DEADLOCK *** [ 642.634415][ C3] [ 642.634669][ C3] 1 lock held by swapper/3/0: [ 642.634839][ C3] #0: ffffc90000298d68 ((&add_entry->add_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 642.635172][ C3] [ 642.635172][ C3] stack backtrace: [ 642.635375][ C3] CPU: 3 UID: 0 PID: 0 Comm: swapper/3 Not tainted 6.11.0-rc5-virtme #1 [ 642.635618][ C3] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 642.635983][ C3] Call Trace: [ 642.636105][ C3] [ 642.636191][ C3] dump_stack_lvl+0x82/0xd0 [ 642.636366][ C3] check_noncircular+0x2f9/0x3e0 [ 642.636528][ C3] ? unwind_next_frame+0x1d2/0x1d00 [ 642.636695][ C3] ? __pfx_check_noncircular+0x10/0x10 [ 642.636853][ C3] ? __pfx_unwind_next_frame+0x10/0x10 [ 642.637028][ C3] ? common_startup_64+0x12c/0x138 [ 642.637186][ C3] ? kernel_text_address+0x17/0xe0 [ 642.637351][ C3] check_prev_add+0x182/0xce0 [ 642.637527][ C3] validate_chain+0x71d/0x9b0 [ 642.637687][ C3] ? __pfx_validate_chain+0x10/0x10 [ 642.637845][ C3] ? hlock_class+0x4e/0x130 [ 642.638022][ C3] ? mark_lock+0x38/0x3e0 [ 642.638141][ C3] __lock_acquire+0xb35/0x1560 [ 642.638312][ C3] lock_acquire.part.0+0xeb/0x330 [ 642.638504][ C3] ? mptcp_pm_add_timer+0x136/0x420 [ 642.638661][ C3] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 642.638836][ C3] ? trace_lock_acquire+0x14d/0x1f0 [ 642.639001][ C3] ? __pfx_mptcp_pm_add_timer+0x10/0x10 [ 642.639162][ C3] ? mptcp_pm_add_timer+0x136/0x420 [ 642.639322][ C3] ? lock_acquire+0x32/0xc0 [ 642.639480][ C3] ? mptcp_pm_add_timer+0x136/0x420 [ 642.639640][ C3] _raw_spin_lock_bh+0x38/0x50 [ 642.639813][ C3] ? mptcp_pm_add_timer+0x136/0x420 [ 642.639968][ C3] mptcp_pm_add_timer+0x136/0x420 [ 642.640134][ C3] ? __pfx_mptcp_pm_add_timer+0x10/0x10 [ 642.640294][ C3] ? call_timer_fn+0x11/0x230 [ 642.640457][ C3] ? lock_acquire+0x32/0xc0 [ 642.640617][ C3] ? __pfx_mptcp_pm_add_timer+0x10/0x10 [ 642.640773][ C3] call_timer_fn+0x13b/0x230 [ 642.640933][ C3] ? call_timer_fn+0xe8/0x230 [ 642.641088][ C3] ? call_timer_fn+0xe8/0x230 [ 642.641243][ C3] ? __pfx_call_timer_fn+0x10/0x10 [ 642.641413][ C3] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 642.641585][ C3] __run_timers+0x545/0x810 [ 642.641766][ C3] ? __pfx_mptcp_pm_add_timer+0x10/0x10 [ 642.641932][ C3] ? __pfx___run_timers+0x10/0x10 [ 642.642097][ C3] ? do_raw_spin_lock+0x131/0x270 [ 642.642258][ C3] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 642.642416][ C3] ? lock_acquire+0x32/0xc0 [ 642.642583][ C3] ? run_timer_softirq+0xe0/0x1b0 [ 642.642747][ C3] run_timer_softirq+0xe8/0x1b0 [ 642.642932][ C3] handle_softirqs+0x1f9/0x5c0 [ 642.643094][ C3] irq_exit_rcu+0x99/0xc0 [ 642.643236][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 642.643427][ C3] [ 642.643512][ C3] [ 642.643601][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 642.643846][ C3] RIP: 0010:default_idle+0xf/0x20 [ 642.644030][ 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 13 3b 3c 00 fb f4 c3 cc cc cc cc 66 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 [ 642.644642][ C3] RSP: 0018:ffffc9000017fdf8 EFLAGS: 00000242 [ 642.644852][ C3] RAX: 0000000000cd00ab RBX: 1ffff9200002ffc1 RCX: ffffffff9ce9d625 [ 642.645110][ C3] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff9a6a6d74 [ 642.645372][ C3] RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed1006c37098 [ 642.645627][ C3] R10: ffff8880361b84c3 R11: ffff8880361bde80 R12: 0000000000000000 [ 642.645879][ C3] R13: ffff888001baa300 R14: dffffc0000000000 R15: 0000000000000000 [ 642.646138][ C3] ? ct_kernel_exit.constprop.0+0xc5/0xf0 [ 642.646309][ C3] ? cpuidle_idle_call+0x1f4/0x280 [ 642.646471][ C3] default_idle_call+0x6d/0xb0 [ 642.646657][ C3] cpuidle_idle_call+0x1f4/0x280 [ 642.646842][ C3] ? __pfx_cpuidle_idle_call+0x10/0x10 [ 642.647018][ C3] ? tsc_verify_tsc_adjust+0x5e/0x2b0 [ 642.647182][ C3] do_idle+0xf9/0x160 [ 642.647304][ C3] cpu_startup_entry+0x54/0x60 [ 642.647695][ C3] start_secondary+0x21c/0x2b0 [ 642.647860][ C3] ? __pfx_start_secondary+0x10/0x10 [ 642.648036][ C3] common_startup_64+0x12c/0x138 [ 642.648199][ C3] [ 2514.811569][T18793] pm_nl_ctl (18793) used greatest stack depth: 22752 bytes left