[ 27.909593][ T286] br0: port 1(veth1) entered blocking state [ 27.910147][ T286] br0: port 1(veth1) entered disabled state [ 27.910671][ T286] veth1: entered allmulticast mode [ 27.922134][ T286] veth1: entered promiscuous mode [ 27.933254][ T286] ip (286) used greatest stack depth: 23936 bytes left [ 28.048299][ T288] br0: port 2(veth2) entered blocking state [ 28.048611][ T288] br0: port 2(veth2) entered disabled state [ 28.048879][ T288] veth2: entered allmulticast mode [ 28.050977][ T288] veth2: entered promiscuous mode [ 28.287525][ T63] br0: port 1(veth1) entered blocking state [ 28.287882][ T63] br0: port 1(veth1) entered forwarding state [ 38.884936][ T51] br0: port 2(veth2) entered blocking state [ 38.885195][ T51] br0: port 2(veth2) entered forwarding state [ 43.305609][ C3] [ 43.305815][ C3] ======================================================== [ 43.306152][ C3] WARNING: possible irq lock inversion dependency detected [ 43.306478][ C3] 6.9.0-rc1-virtme #1 Not tainted [ 43.306706][ C3] -------------------------------------------------------- [ 43.307030][ C3] swapper/3/0 just changed the state of lock: [ 43.307316][ C3] ffff888006332c38 (&br->lock){+.-.}-{2:2}, at: br_forward_delay_timer_expired+0x48/0x440 [bridge] [ 43.307849][ C3] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 43.308191][ C3] (&p->alloc_lock){+.+.}-{2:2} [ 43.308198][ C3] [ 43.308198][ C3] [ 43.308198][ C3] and interrupts could create inverse lock ordering between them. [ 43.308198][ C3] [ 43.309047][ C3] [ 43.309047][ C3] other info that might help us debug this: [ 43.309392][ C3] Chain exists of: [ 43.309392][ C3] &br->lock --> lweventlist_lock --> &p->alloc_lock [ 43.309392][ C3] [ 43.309874][ C3] Possible interrupt unsafe locking scenario: [ 43.309874][ C3] [ 43.310193][ C3] CPU0 CPU1 [ 43.310417][ C3] ---- ---- [ 43.310634][ C3] lock(&p->alloc_lock); [ 43.310815][ C3] local_irq_disable(); [ 43.311078][ C3] lock(&br->lock); [ 43.311364][ C3] lock(lweventlist_lock); [ 43.311635][ C3] [ 43.311822][ C3] lock(&br->lock); [ 43.311990][ C3] [ 43.311990][ C3] *** DEADLOCK *** [ 43.311990][ C3] [ 43.312318][ C3] 1 lock held by swapper/3/0: [ 43.312558][ C3] #0: ffffc90000288d68 ((&p->forward_delay_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 43.313045][ C3] [ 43.313045][ C3] the shortest dependencies between 2nd lock and 1st lock: [ 43.313453][ C3] -> (&p->alloc_lock){+.+.}-{2:2} { [ 43.313687][ C3] HARDIRQ-ON-W at: [ 43.313857][ C3] __lock_acquire+0x797/0x1570 [ 43.314156][ C3] lock_acquire.part.0+0xeb/0x330 [ 43.314449][ C3] _raw_spin_lock+0x30/0x40 [ 43.314756][ C3] set_mems_allowed+0x1d/0x210 [ 43.315042][ C3] kernel_init_freeable+0x72/0x310 [ 43.315320][ C3] kernel_init+0x20/0x200 [ 43.315613][ C3] ret_from_fork+0x31/0x70 [ 43.315919][ C3] ret_from_fork_asm+0x1a/0x30 [ 43.316216][ C3] SOFTIRQ-ON-W at: [ 43.316385][ C3] __lock_acquire+0x797/0x1570 [ 43.316683][ C3] lock_acquire.part.0+0xeb/0x330 [ 43.316972][ C3] _raw_spin_lock+0x30/0x40 [ 43.317268][ C3] set_mems_allowed+0x1d/0x210 [ 43.317566][ C3] kernel_init_freeable+0x72/0x310 [ 43.317852][ C3] kernel_init+0x20/0x200 [ 43.318139][ C3] ret_from_fork+0x31/0x70 [ 43.318427][ C3] ret_from_fork_asm+0x1a/0x30 [ 43.318717][ C3] INITIAL USE at: [ 43.318888][ C3] __lock_acquire+0x797/0x1570 [ 43.319180][ C3] lock_acquire.part.0+0xeb/0x330 [ 43.319476][ C3] _raw_spin_lock+0x30/0x40 [ 43.319767][ C3] set_mems_allowed+0x1d/0x210 [ 43.320055][ C3] kernel_init_freeable+0x72/0x310 [ 43.320344][ C3] kernel_init+0x20/0x200 [ 43.320638][ C3] ret_from_fork+0x31/0x70 [ 43.320928][ C3] ret_from_fork_asm+0x1a/0x30 [ 43.321219][ C3] } [ 43.321333][ C3] ... key at: [] __key.387+0x0/0x40 [ 43.321658][ C3] ... acquired at: [ 43.321823][ C3] __lock_acquire+0xaf0/0x1570 [ 43.322045][ C3] lock_acquire.part.0+0xeb/0x330 [ 43.322266][ C3] _raw_spin_lock+0x30/0x40 [ 43.322483][ C3] __get_task_comm+0x27/0x70 [ 43.322704][ C3] ref_tracker_alloc+0x2ee/0x490 [ 43.322930][ C3] linkwatch_fire_event+0x196/0x200 [ 43.323153][ C3] veth_newlink+0x367/0x830 [veth] [ 43.323386][ C3] rtnl_newlink_create+0x341/0x850 [ 43.323607][ C3] __rtnl_newlink+0xac9/0xd80 [ 43.323826][ C3] rtnl_newlink+0x63/0xa0 [ 43.324045][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 43.324252][ C3] netlink_rcv_skb+0x130/0x360 [ 43.324480][ C3] netlink_unicast+0x449/0x710 [ 43.324714][ C3] netlink_sendmsg+0x723/0xbe0 [ 43.324932][ C3] ____sys_sendmsg+0x7b2/0xa10 [ 43.325158][ C3] ___sys_sendmsg+0xee/0x170 [ 43.325385][ C3] __sys_sendmsg+0xcd/0x170 [ 43.325612][ C3] do_syscall_64+0xc6/0x1e0 [ 43.325835][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 43.326112][ C3] [ 43.326227][ C3] -> (lweventlist_lock){....}-{2:2} { [ 43.326466][ C3] INITIAL USE at: [ 43.326643][ C3] __lock_acquire+0x797/0x1570 [ 43.326922][ C3] lock_acquire.part.0+0xeb/0x330 [ 43.327199][ C3] _raw_spin_lock_irqsave+0x3f/0x60 [ 43.327475][ C3] linkwatch_sync_dev+0x29/0x1f0 [ 43.327751][ C3] rtnl_getlink+0x4c9/0x970 [ 43.328028][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 43.328304][ C3] netlink_rcv_skb+0x130/0x360 [ 43.328584][ C3] netlink_unicast+0x449/0x710 [ 43.328869][ C3] netlink_sendmsg+0x723/0xbe0 [ 43.329142][ C3] __sys_sendto+0x37d/0x410 [ 43.329423][ C3] __x64_sys_sendto+0xe0/0x1c0 [ 43.329704][ C3] do_syscall_64+0xc6/0x1e0 [ 43.329994][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 43.330341][ C3] } [ 43.330456][ C3] ... key at: [] lweventlist_lock+0x18/0x60 [ 43.330795][ C3] ... acquired at: [ 43.330959][ C3] __lock_acquire+0xaf0/0x1570 [ 43.331180][ C3] lock_acquire.part.0+0xeb/0x330 [ 43.331395][ C3] _raw_spin_lock_irqsave+0x3f/0x60 [ 43.331622][ C3] linkwatch_fire_event+0x74/0x200 [ 43.331843][ C3] br_stp_change_bridge_id+0x25f/0x360 [bridge] [ 43.332165][ C3] br_set_mac_address+0x1f3/0x260 [bridge] [ 43.332486][ C3] dev_set_mac_address+0x28a/0x410 [ 43.332711][ C3] dev_set_mac_address_user+0x31/0x50 [ 43.332927][ C3] do_setlink+0x17b4/0x21e0 [ 43.333141][ C3] rtnl_setlink+0x1f7/0x310 [ 43.333358][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 43.333592][ C3] netlink_rcv_skb+0x130/0x360 [ 43.333811][ C3] netlink_unicast+0x449/0x710 [ 43.334019][ C3] netlink_sendmsg+0x723/0xbe0 [ 43.334244][ C3] __sys_sendto+0x37d/0x410 [ 43.334470][ C3] __x64_sys_sendto+0xe0/0x1c0 [ 43.334697][ C3] do_syscall_64+0xc6/0x1e0 [ 43.334909][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 43.335194][ C3] [ 43.335310][ C3] -> (&br->lock){+.-.}-{2:2} { [ 43.335554][ C3] HARDIRQ-ON-W at: [ 43.335732][ C3] __lock_acquire+0x797/0x1570 [ 43.336020][ C3] lock_acquire.part.0+0xeb/0x330 [ 43.336291][ C3] _raw_spin_lock_bh+0x38/0x50 [ 43.336569][ C3] br_set_mac_address+0xd2/0x260 [bridge] [ 43.336963][ C3] dev_set_mac_address+0x28a/0x410 [ 43.337243][ C3] dev_set_mac_address_user+0x31/0x50 [ 43.337519][ C3] do_setlink+0x17b4/0x21e0 [ 43.337796][ C3] rtnl_setlink+0x1f7/0x310 [ 43.338068][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 43.338335][ C3] netlink_rcv_skb+0x130/0x360 [ 43.338605][ C3] netlink_unicast+0x449/0x710 [ 43.338873][ C3] netlink_sendmsg+0x723/0xbe0 [ 43.339159][ C3] __sys_sendto+0x37d/0x410 [ 43.339439][ C3] __x64_sys_sendto+0xe0/0x1c0 [ 43.339725][ C3] do_syscall_64+0xc6/0x1e0 [ 43.339993][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 43.340325][ C3] IN-SOFTIRQ-W at: [ 43.340497][ C3] __lock_acquire+0x797/0x1570 [ 43.340788][ C3] lock_acquire.part.0+0xeb/0x330 [ 43.341069][ C3] _raw_spin_lock+0x30/0x40 [ 43.341367][ C3] br_forward_delay_timer_expired+0x48/0x440 [bridge] [ 43.341792][ C3] call_timer_fn+0x13b/0x230 [ 43.342089][ C3] __run_timers+0x545/0x810 [ 43.342378][ C3] run_timer_softirq+0xe8/0x1b0 [ 43.342651][ C3] __do_softirq+0x1f8/0x5df [ 43.342938][ C3] irq_exit_rcu+0x97/0xc0 [ 43.343225][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 43.343555][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 43.343893][ C3] default_idle+0xf/0x20 [ 43.344170][ C3] default_idle_call+0x6d/0xb0 [ 43.344454][ C3] cpuidle_idle_call+0x1f4/0x280 [ 43.344751][ C3] do_idle+0xf9/0x160 [ 43.344964][ C3] cpu_startup_entry+0x54/0x60 [ 43.345227][ C3] start_secondary+0x21c/0x2b0 [ 43.345424][ C3] common_startup_64+0x12c/0x138 [ 43.345616][ C3] INITIAL USE at: [ 43.345729][ C3] __lock_acquire+0x797/0x1570 [ 43.345922][ C3] lock_acquire.part.0+0xeb/0x330 [ 43.346113][ C3] _raw_spin_lock_bh+0x38/0x50 [ 43.346307][ C3] br_set_mac_address+0xd2/0x260 [bridge] [ 43.346572][ C3] dev_set_mac_address+0x28a/0x410 [ 43.346759][ C3] dev_set_mac_address_user+0x31/0x50 [ 43.346947][ C3] do_setlink+0x17b4/0x21e0 [ 43.347136][ C3] rtnl_setlink+0x1f7/0x310 [ 43.347352][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 43.347577][ C3] netlink_rcv_skb+0x130/0x360 [ 43.347767][ C3] netlink_unicast+0x449/0x710 [ 43.347960][ C3] netlink_sendmsg+0x723/0xbe0 [ 43.348146][ C3] __sys_sendto+0x37d/0x410 [ 43.348341][ C3] __x64_sys_sendto+0xe0/0x1c0 [ 43.348527][ C3] do_syscall_64+0xc6/0x1e0 [ 43.348738][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 43.348960][ C3] } [ 43.349035][ C3] ... key at: [] __key.6+0x0/0xfffffffffffe5ac0 [bridge] [ 43.349336][ C3] ... acquired at: [ 43.349446][ C3] mark_lock+0x28d/0x3e0 [ 43.349597][ C3] mark_usage+0xd9/0x2a0 [ 43.349746][ C3] __lock_acquire+0x797/0x1570 [ 43.349896][ C3] lock_acquire.part.0+0xeb/0x330 [ 43.350049][ C3] _raw_spin_lock+0x30/0x40 [ 43.350197][ C3] br_forward_delay_timer_expired+0x48/0x440 [bridge] [ 43.350430][ C3] call_timer_fn+0x13b/0x230 [ 43.350660][ C3] __run_timers+0x545/0x810 [ 43.350808][ C3] run_timer_softirq+0xe8/0x1b0 [ 43.350955][ C3] __do_softirq+0x1f8/0x5df [ 43.351102][ C3] irq_exit_rcu+0x97/0xc0 [ 43.351250][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 43.351522][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 43.351709][ C3] default_idle+0xf/0x20 [ 43.351857][ C3] default_idle_call+0x6d/0xb0 [ 43.352080][ C3] cpuidle_idle_call+0x1f4/0x280 [ 43.352230][ C3] do_idle+0xf9/0x160 [ 43.352347][ C3] cpu_startup_entry+0x54/0x60 [ 43.352496][ C3] start_secondary+0x21c/0x2b0 [ 43.352647][ C3] common_startup_64+0x12c/0x138 [ 43.352881][ C3] [ 43.352956][ C3] [ 43.352956][ C3] stack backtrace: [ 43.353139][ C3] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 6.9.0-rc1-virtme #1 [ 43.353370][ C3] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 43.353789][ C3] Call Trace: [ 43.353902][ C3] [ 43.353979][ C3] dump_stack_lvl+0x82/0xd0 [ 43.354144][ C3] print_irq_inversion_bug.part.0+0x3d9/0x570 [ 43.354335][ C3] ? common_startup_64+0x12c/0x138 [ 43.354492][ C3] ? __pfx_print_irq_inversion_bug.part.0+0x10/0x10 [ 43.354676][ C3] ? __pfx_usage_skip+0x10/0x10 [ 43.354976][ C3] ? __pfx_usage_match+0x10/0x10 [ 43.355130][ C3] ? arch_stack_walk+0x8c/0xf0 [ 43.355285][ C3] mark_lock_irq+0x4cd/0xa10 [ 43.355441][ C3] ? __pfx_mark_lock_irq+0x10/0x10 [ 43.355599][ C3] ? stack_trace_save+0x94/0xd0 [ 43.355823][ C3] ? add_chain_cache+0x248/0x8b0 [ 43.355970][ C3] ? save_trace+0x8f/0x5b0 [ 43.356117][ C3] mark_lock+0x28d/0x3e0 [ 43.356228][ C3] mark_usage+0xd9/0x2a0 [ 43.356512][ C3] __lock_acquire+0x797/0x1570 [ 43.356748][ C3] ? __lock_acquire+0xaf0/0x1570 [ 43.356982][ C3] ? __pfx_br_forward_delay_timer_expired+0x10/0x10 [bridge] [ 43.357394][ C3] lock_acquire.part.0+0xeb/0x330 [ 43.357643][ C3] ? br_forward_delay_timer_expired+0x48/0x440 [bridge] [ 43.358001][ C3] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 43.358174][ C3] ? trace_lock_acquire+0x135/0x1c0 [ 43.358333][ C3] ? br_forward_delay_timer_expired+0x48/0x440 [bridge] [ 43.358637][ C3] ? lock_acquire+0x32/0xc0 [ 43.358785][ C3] ? br_forward_delay_timer_expired+0x48/0x440 [bridge] [ 43.359046][ C3] _raw_spin_lock+0x30/0x40 [ 43.359272][ C3] ? br_forward_delay_timer_expired+0x48/0x440 [bridge] [ 43.359758][ C3] br_forward_delay_timer_expired+0x48/0x440 [bridge] [ 43.360082][ C3] ? __pfx_br_forward_delay_timer_expired+0x10/0x10 [bridge] [ 43.360465][ C3] call_timer_fn+0x13b/0x230 [ 43.360694][ C3] ? call_timer_fn+0xe8/0x230 [ 43.360914][ C3] ? call_timer_fn+0xe8/0x230 [ 43.361130][ C3] ? __pfx_call_timer_fn+0x10/0x10 [ 43.361369][ C3] ? mark_lock+0x38/0x3e0 [ 43.361551][ C3] __run_timers+0x545/0x810 [ 43.361919][ C3] ? __pfx_br_forward_delay_timer_expired+0x10/0x10 [bridge] [ 43.362327][ C3] ? __pfx___run_timers+0x10/0x10 [ 43.362560][ C3] ? do_raw_spin_lock+0x131/0x270 [ 43.362926][ C3] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 43.363162][ C3] ? lock_acquire+0x32/0xc0 [ 43.363392][ C3] ? run_timer_softirq+0xe0/0x1b0 [ 43.363638][ C3] run_timer_softirq+0xe8/0x1b0 [ 43.363873][ C3] __do_softirq+0x1f8/0x5df [ 43.364236][ C3] irq_exit_rcu+0x97/0xc0 [ 43.364407][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 43.364652][ C3] [ 43.364772][ C3] [ 43.364890][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 43.365310][ C3] RIP: 0010:default_idle+0xf/0x20 [ 43.365550][ 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 a3 30 35 00 fb f4 c3 cc cc cc cc 66 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 [ 43.366505][ C3] RSP: 0018:ffffc9000016fdf8 EFLAGS: 00000246 [ 43.366786][ C3] RAX: 0000000000075ca9 RBX: 1ffff9200002dfc1 RCX: ffffffff9410e9d5 [ 43.367119][ C3] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff91aaa4a4 [ 43.367599][ C3] RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed1006c3709c [ 43.367936][ C3] R10: ffff8880361b84e3 R11: ffff8880361ad9b0 R12: 0000000000000000 [ 43.368268][ C3] R13: ffff888001b88040 R14: dffffc0000000000 R15: 0000000000000000 [ 43.368733][ C3] ? ct_kernel_exit.constprop.0+0xc5/0xf0 [ 43.368987][ C3] ? cpuidle_idle_call+0x1f4/0x280 [ 43.369227][ C3] default_idle_call+0x6d/0xb0 [ 43.369458][ C3] cpuidle_idle_call+0x1f4/0x280 [ 43.369689][ C3] ? __pfx_cpuidle_idle_call+0x10/0x10 [ 43.369922][ C3] ? tsc_verify_tsc_adjust+0x5e/0x2b0 [ 43.370154][ C3] do_idle+0xf9/0x160 [ 43.370324][ C3] cpu_startup_entry+0x54/0x60 [ 43.370695][ C3] start_secondary+0x21c/0x2b0 [ 43.370919][ C3] ? __pfx_start_secondary+0x10/0x10 [ 43.371152][ C3] common_startup_64+0x12c/0x138 [ 43.371393][ C3] [ 44.618254][ T304] GACT probability NOT on [ 46.460521][ T311] br0: port 2(veth2) entered disabled state [ 46.785897][ T63] br0: port 2(veth2) entered blocking state [ 46.786122][ T63] br0: port 2(veth2) entered forwarding state [ 53.779274][ T328] br0: port 1(veth1) entered disabled state [ 53.869405][ T329] br0: port 2(veth2) entered disabled state [ 53.969833][ T330] veth2: left allmulticast mode [ 53.970085][ T330] veth2: left promiscuous mode [ 53.970342][ T330] br0: port 2(veth2) entered disabled state [ 53.971292][ T330] veth1: left allmulticast mode [ 53.971426][ T330] veth1: left promiscuous mode [ 53.972425][ T330] br0: port 1(veth1) entered disabled state