[ 39.019730][ T317] br: port 1(veth1) entered blocking state [ 39.020144][ T317] br: port 1(veth1) entered disabled state [ 39.021017][ T317] veth1: entered allmulticast mode [ 39.023007][ T317] veth1: entered promiscuous mode [ 39.027431][ T7] br: port 1(veth1) entered blocking state [ 39.027737][ T7] br: port 1(veth1) entered forwarding state [ 39.166747][ T320] br: port 2(veth3) entered blocking state [ 39.167045][ T320] br: port 2(veth3) entered disabled state [ 39.167582][ T320] veth3: entered allmulticast mode [ 39.169643][ T320] veth3: entered promiscuous mode [ 39.171491][ T50] br: port 2(veth3) entered blocking state [ 39.171729][ T50] br: port 2(veth3) entered forwarding state [ 39.305549][ T322] br: port 3(veth4) entered blocking state [ 39.305967][ T322] br: port 3(veth4) entered disabled state [ 39.306441][ T322] veth4: entered allmulticast mode [ 39.309802][ T322] veth4: entered promiscuous mode [ 39.313251][ T50] br: port 3(veth4) entered blocking state [ 39.313697][ T50] br: port 3(veth4) entered forwarding state [ 54.060469][ C0] [ 54.060618][ C0] ======================================================== [ 54.060934][ C0] WARNING: possible irq lock inversion dependency detected [ 54.061203][ C0] 6.9.0-rc1-virtme #1 Not tainted [ 54.061359][ C0] -------------------------------------------------------- [ 54.061608][ C0] swapper/0/0 just changed the state of lock: [ 54.061819][ C0] ffff8880060f2c38 (&br->lock){+.-.}-{2:2}, at: br_forward_delay_timer_expired+0x48/0x440 [bridge] [ 54.062249][ C0] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 54.062511][ C0] (&p->alloc_lock){+.+.}-{2:2} [ 54.062516][ C0] [ 54.062516][ C0] [ 54.062516][ C0] and interrupts could create inverse lock ordering between them. [ 54.062516][ C0] [ 54.063130][ C0] [ 54.063130][ C0] other info that might help us debug this: [ 54.063373][ C0] Chain exists of: [ 54.063373][ C0] &br->lock --> lweventlist_lock --> &p->alloc_lock [ 54.063373][ C0] [ 54.063745][ C0] Possible interrupt unsafe locking scenario: [ 54.063745][ C0] [ 54.064007][ C0] CPU0 CPU1 [ 54.064193][ C0] ---- ---- [ 54.064360][ C0] lock(&p->alloc_lock); [ 54.064501][ C0] local_irq_disable(); [ 54.064720][ C0] lock(&br->lock); [ 54.064939][ C0] lock(lweventlist_lock); [ 54.065153][ C0] [ 54.065291][ C0] lock(&br->lock); [ 54.065407][ C0] [ 54.065407][ C0] *** DEADLOCK *** [ 54.065407][ C0] [ 54.065652][ C0] 1 lock held by swapper/0/0: [ 54.065809][ C0] #0: ffffc90000007d68 ((&p->forward_delay_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 54.066155][ C0] [ 54.066155][ C0] the shortest dependencies between 2nd lock and 1st lock: [ 54.066457][ C0] -> (&p->alloc_lock){+.+.}-{2:2} { [ 54.066636][ C0] HARDIRQ-ON-W at: [ 54.066749][ C0] __lock_acquire+0x797/0x1570 [ 54.066950][ C0] lock_acquire.part.0+0xeb/0x330 [ 54.067184][ C0] _raw_spin_lock+0x30/0x40 [ 54.067391][ C0] set_mems_allowed+0x1d/0x210 [ 54.067764][ C0] kernel_init_freeable+0x72/0x310 [ 54.067981][ C0] kernel_init+0x20/0x200 [ 54.068206][ C0] ret_from_fork+0x31/0x70 [ 54.068444][ C0] ret_from_fork_asm+0x1a/0x30 [ 54.068660][ C0] SOFTIRQ-ON-W at: [ 54.069029][ C0] __lock_acquire+0x797/0x1570 [ 54.069359][ C0] lock_acquire.part.0+0xeb/0x330 [ 54.069572][ C0] _raw_spin_lock+0x30/0x40 [ 54.069922][ C0] set_mems_allowed+0x1d/0x210 [ 54.070133][ C0] kernel_init_freeable+0x72/0x310 [ 54.070358][ C0] kernel_init+0x20/0x200 [ 54.070564][ C0] ret_from_fork+0x31/0x70 [ 54.070761][ C0] ret_from_fork_asm+0x1a/0x30 [ 54.071085][ C0] INITIAL USE at: [ 54.071241][ C0] __lock_acquire+0x797/0x1570 [ 54.071440][ C0] lock_acquire.part.0+0xeb/0x330 [ 54.071769][ C0] _raw_spin_lock+0x30/0x40 [ 54.072092][ C0] set_mems_allowed+0x1d/0x210 [ 54.072318][ C0] kernel_init_freeable+0x72/0x310 [ 54.072510][ C0] kernel_init+0x20/0x200 [ 54.072833][ C0] ret_from_fork+0x31/0x70 [ 54.073039][ C0] ret_from_fork_asm+0x1a/0x30 [ 54.073245][ C0] } [ 54.073353][ C0] ... key at: [] __key.387+0x0/0x40 [ 54.073760][ C0] ... acquired at: [ 54.073883][ C0] __lock_acquire+0xaf0/0x1570 [ 54.074085][ C0] lock_acquire.part.0+0xeb/0x330 [ 54.074249][ C0] _raw_spin_lock+0x30/0x40 [ 54.074539][ C0] __get_task_comm+0x27/0x70 [ 54.074732][ C0] ref_tracker_alloc+0x2ee/0x490 [ 54.074916][ C0] linkwatch_fire_event+0x196/0x200 [ 54.075212][ C0] veth_newlink+0x367/0x830 [veth] [ 54.075396][ C0] rtnl_newlink_create+0x341/0x850 [ 54.075624][ C0] __rtnl_newlink+0xac9/0xd80 [ 54.075791][ C0] rtnl_newlink+0x63/0xa0 [ 54.076054][ C0] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 54.076242][ C0] netlink_rcv_skb+0x130/0x360 [ 54.076535][ C0] netlink_unicast+0x449/0x710 [ 54.076714][ C0] netlink_sendmsg+0x723/0xbe0 [ 54.076903][ C0] ____sys_sendmsg+0x7b2/0xa10 [ 54.077117][ C0] ___sys_sendmsg+0xee/0x170 [ 54.077279][ C0] __sys_sendmsg+0xcd/0x170 [ 54.077479][ C0] do_syscall_64+0xc6/0x1e0 [ 54.077661][ C0] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 54.077929][ C0] [ 54.078011][ C0] -> (lweventlist_lock){....}-{2:2} { [ 54.078186][ C0] INITIAL USE at: [ 54.078318][ C0] __lock_acquire+0x797/0x1570 [ 54.078530][ C0] lock_acquire.part.0+0xeb/0x330 [ 54.078848][ C0] _raw_spin_lock_irqsave+0x3f/0x60 [ 54.079083][ C0] linkwatch_sync_dev+0x29/0x1f0 [ 54.079286][ C0] rtnl_getlink+0x4c9/0x970 [ 54.079502][ C0] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 54.079798][ C0] netlink_rcv_skb+0x130/0x360 [ 54.080013][ C0] netlink_unicast+0x449/0x710 [ 54.080224][ C0] netlink_sendmsg+0x723/0xbe0 [ 54.080635][ C0] __sys_sendto+0x37d/0x410 [ 54.080869][ C0] __x64_sys_sendto+0xe0/0x1c0 [ 54.081065][ C0] do_syscall_64+0xc6/0x1e0 [ 54.081272][ C0] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 54.081618][ C0] } [ 54.081718][ C0] ... key at: [] lweventlist_lock+0x18/0x60 [ 54.081947][ C0] ... acquired at: [ 54.082082][ C0] __lock_acquire+0xaf0/0x1570 [ 54.082235][ C0] lock_acquire.part.0+0xeb/0x330 [ 54.082395][ C0] _raw_spin_lock_irqsave+0x3f/0x60 [ 54.082571][ C0] linkwatch_fire_event+0x74/0x200 [ 54.082722][ C0] br_stp_change_bridge_id+0x25f/0x360 [bridge] [ 54.082965][ C0] br_set_mac_address+0x1f3/0x260 [bridge] [ 54.083216][ C0] dev_set_mac_address+0x28a/0x410 [ 54.083390][ C0] dev_set_mac_address_user+0x31/0x50 [ 54.083565][ C0] do_setlink+0x17b4/0x21e0 [ 54.083715][ C0] rtnl_setlink+0x1f7/0x310 [ 54.083871][ C0] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 54.084122][ C0] netlink_rcv_skb+0x130/0x360 [ 54.084277][ C0] netlink_unicast+0x449/0x710 [ 54.084427][ C0] netlink_sendmsg+0x723/0xbe0 [ 54.084573][ C0] __sys_sendto+0x37d/0x410 [ 54.084833][ C0] __x64_sys_sendto+0xe0/0x1c0 [ 54.084983][ C0] do_syscall_64+0xc6/0x1e0 [ 54.085241][ C0] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 54.085427][ C0] [ 54.085502][ C0] -> (&br->lock){+.-.}-{2:2} { [ 54.085661][ C0] HARDIRQ-ON-W at: [ 54.085790][ C0] __lock_acquire+0x797/0x1570 [ 54.086001][ C0] lock_acquire.part.0+0xeb/0x330 [ 54.086214][ C0] _raw_spin_lock_bh+0x38/0x50 [ 54.086568][ C0] br_stp_enable_bridge+0x1f/0x2f0 [bridge] [ 54.086893][ C0] br_dev_open+0xa2/0x120 [bridge] [ 54.087187][ C0] __dev_open+0x221/0x430 [ 54.087434][ C0] __dev_change_flags+0x469/0x6c0 [ 54.087781][ C0] rtnl_configure_link+0x118/0x200 [ 54.088014][ C0] rtnl_newlink_create+0x36e/0x850 [ 54.088233][ C0] __rtnl_newlink+0xac9/0xd80 [ 54.088445][ C0] rtnl_newlink+0x63/0xa0 [ 54.088782][ C0] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 54.089023][ C0] netlink_rcv_skb+0x130/0x360 [ 54.089256][ C0] netlink_unicast+0x449/0x710 [ 54.089577][ C0] netlink_sendmsg+0x723/0xbe0 [ 54.089808][ C0] ____sys_sendmsg+0x7b2/0xa10 [ 54.090133][ C0] ___sys_sendmsg+0xee/0x170 [ 54.090361][ C0] __sys_sendmsg+0xcd/0x170 [ 54.090681][ C0] do_syscall_64+0xc6/0x1e0 [ 54.090872][ C0] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 54.091141][ C0] IN-SOFTIRQ-W at: [ 54.091266][ C0] __lock_acquire+0x797/0x1570 [ 54.091455][ C0] lock_acquire.part.0+0xeb/0x330 [ 54.091649][ C0] _raw_spin_lock+0x30/0x40 [ 54.091842][ C0] br_forward_delay_timer_expired+0x48/0x440 [bridge] [ 54.092270][ C0] call_timer_fn+0x13b/0x230 [ 54.092467][ C0] __run_timers+0x545/0x810 [ 54.092669][ C0] run_timer_softirq+0xe8/0x1b0 [ 54.093004][ C0] __do_softirq+0x1f8/0x5df [ 54.093211][ C0] irq_exit_rcu+0x97/0xc0 [ 54.093455][ C0] sysvec_apic_timer_interrupt+0x75/0x80 [ 54.093790][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 54.094036][ C0] default_idle+0xf/0x20 [ 54.094243][ C0] default_idle_call+0x6d/0xb0 [ 54.094548][ C0] cpuidle_idle_call+0x1f4/0x280 [ 54.094740][ C0] do_idle+0xf9/0x160 [ 54.094895][ C0] cpu_startup_entry+0x54/0x60 [ 54.095095][ C0] rest_init+0x14f/0x260 [ 54.095383][ C0] start_kernel+0x318/0x3d0 [ 54.095580][ C0] x86_64_start_reservations+0x18/0x30 [ 54.095781][ C0] x86_64_start_kernel+0xba/0x110 [ 54.096086][ C0] common_startup_64+0x12c/0x138 [ 54.096279][ C0] INITIAL USE at: [ 54.096400][ C0] __lock_acquire+0x797/0x1570 [ 54.096604][ C0] lock_acquire.part.0+0xeb/0x330 [ 54.096821][ C0] _raw_spin_lock_bh+0x38/0x50 [ 54.097165][ C0] br_stp_enable_bridge+0x1f/0x2f0 [bridge] [ 54.097435][ C0] br_dev_open+0xa2/0x120 [bridge] [ 54.097670][ C0] __dev_open+0x221/0x430 [ 54.097953][ C0] __dev_change_flags+0x469/0x6c0 [ 54.098146][ C0] rtnl_configure_link+0x118/0x200 [ 54.098351][ C0] rtnl_newlink_create+0x36e/0x850 [ 54.098646][ C0] __rtnl_newlink+0xac9/0xd80 [ 54.098957][ C0] rtnl_newlink+0x63/0xa0 [ 54.099188][ C0] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 54.099509][ C0] netlink_rcv_skb+0x130/0x360 [ 54.099701][ C0] netlink_unicast+0x449/0x710 [ 54.099891][ C0] netlink_sendmsg+0x723/0xbe0 [ 54.100097][ C0] ____sys_sendmsg+0x7b2/0xa10 [ 54.100317][ C0] ___sys_sendmsg+0xee/0x170 [ 54.100557][ C0] __sys_sendmsg+0xcd/0x170 [ 54.100910][ C0] do_syscall_64+0xc6/0x1e0 [ 54.101108][ C0] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 54.101444][ C0] } [ 54.101527][ C0] ... key at: [] __key.6+0x0/0xfffffffffffe5ac0 [bridge] [ 54.102001][ C0] ... acquired at: [ 54.102119][ C0] mark_lock+0x28d/0x3e0 [ 54.102317][ C0] mark_usage+0xd9/0x2a0 [ 54.102507][ C0] __lock_acquire+0x797/0x1570 [ 54.102688][ C0] lock_acquire.part.0+0xeb/0x330 [ 54.102966][ C0] _raw_spin_lock+0x30/0x40 [ 54.103171][ C0] br_forward_delay_timer_expired+0x48/0x440 [bridge] [ 54.103423][ C0] call_timer_fn+0x13b/0x230 [ 54.103577][ C0] __run_timers+0x545/0x810 [ 54.103756][ C0] run_timer_softirq+0xe8/0x1b0 [ 54.104070][ C0] __do_softirq+0x1f8/0x5df [ 54.104227][ C0] irq_exit_rcu+0x97/0xc0 [ 54.104396][ C0] sysvec_apic_timer_interrupt+0x75/0x80 [ 54.104697][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 54.105122][ C0] default_idle+0xf/0x20 [ 54.105292][ C0] default_idle_call+0x6d/0xb0 [ 54.105440][ C0] cpuidle_idle_call+0x1f4/0x280 [ 54.105626][ C0] do_idle+0xf9/0x160 [ 54.105740][ C0] cpu_startup_entry+0x54/0x60 [ 54.105919][ C0] rest_init+0x14f/0x260 [ 54.106108][ C0] start_kernel+0x318/0x3d0 [ 54.106384][ C0] x86_64_start_reservations+0x18/0x30 [ 54.106563][ C0] x86_64_start_kernel+0xba/0x110 [ 54.106714][ C0] common_startup_64+0x12c/0x138 [ 54.106866][ C0] [ 54.106944][ C0] [ 54.106944][ C0] stack backtrace: [ 54.107197][ C0] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.9.0-rc1-virtme #1 [ 54.107568][ C0] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 54.107919][ C0] Call Trace: [ 54.108065][ C0] [ 54.108154][ C0] dump_stack_lvl+0x82/0xd0 [ 54.108314][ C0] print_irq_inversion_bug.part.0+0x3d9/0x570 [ 54.108499][ C0] ? common_startup_64+0x12c/0x138 [ 54.108758][ C0] ? __pfx_print_irq_inversion_bug.part.0+0x10/0x10 [ 54.108976][ C0] ? __pfx_usage_skip+0x10/0x10 [ 54.109138][ C0] ? __pfx_usage_match+0x10/0x10 [ 54.109325][ C0] ? arch_stack_walk+0x8c/0xf0 [ 54.109596][ C0] mark_lock_irq+0x4cd/0xa10 [ 54.109898][ C0] ? __pfx_mark_lock_irq+0x10/0x10 [ 54.110097][ C0] ? stack_trace_save+0x94/0xd0 [ 54.110254][ C0] ? add_chain_cache+0x248/0x8b0 [ 54.110421][ C0] ? save_trace+0x8f/0x5b0 [ 54.110577][ C0] mark_lock+0x28d/0x3e0 [ 54.110723][ C0] mark_usage+0xd9/0x2a0 [ 54.110837][ C0] __lock_acquire+0x797/0x1570 [ 54.111094][ C0] ? __lock_acquire+0xaf0/0x1570 [ 54.111248][ C0] ? __pfx_br_forward_delay_timer_expired+0x10/0x10 [bridge] [ 54.111646][ C0] lock_acquire.part.0+0xeb/0x330 [ 54.111822][ C0] ? br_forward_delay_timer_expired+0x48/0x440 [bridge] [ 54.112187][ C0] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 54.112383][ C0] ? trace_lock_acquire+0x135/0x1c0 [ 54.112564][ C0] ? br_forward_delay_timer_expired+0x48/0x440 [bridge] [ 54.112839][ C0] ? lock_acquire+0x32/0xc0 [ 54.113135][ C0] ? br_forward_delay_timer_expired+0x48/0x440 [bridge] [ 54.113397][ C0] _raw_spin_lock+0x30/0x40 [ 54.113581][ C0] ? br_forward_delay_timer_expired+0x48/0x440 [bridge] [ 54.113832][ C0] br_forward_delay_timer_expired+0x48/0x440 [bridge] [ 54.114202][ C0] ? __pfx_br_forward_delay_timer_expired+0x10/0x10 [bridge] [ 54.114495][ C0] call_timer_fn+0x13b/0x230 [ 54.114749][ C0] ? call_timer_fn+0xe8/0x230 [ 54.114907][ C0] ? call_timer_fn+0xe8/0x230 [ 54.115154][ C0] ? __pfx_call_timer_fn+0x10/0x10 [ 54.115330][ C0] ? mark_lock+0x38/0x3e0 [ 54.115454][ C0] __run_timers+0x545/0x810 [ 54.115625][ C0] ? __pfx_br_forward_delay_timer_expired+0x10/0x10 [bridge] [ 54.116047][ C0] ? __pfx___run_timers+0x10/0x10 [ 54.116217][ C0] ? do_raw_spin_lock+0x131/0x270 [ 54.116385][ C0] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 54.116542][ C0] ? lock_acquire+0x32/0xc0 [ 54.116819][ C0] ? run_timer_softirq+0xe0/0x1b0 [ 54.116985][ C0] run_timer_softirq+0xe8/0x1b0 [ 54.117160][ C0] __do_softirq+0x1f8/0x5df [ 54.117314][ C0] irq_exit_rcu+0x97/0xc0 [ 54.117547][ C0] sysvec_apic_timer_interrupt+0x75/0x80 [ 54.117704][ C0] [ 54.117786][ C0] [ 54.117864][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 54.118052][ C0] RIP: 0010:default_idle+0xf/0x20 [ 54.118226][ 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 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 [ 54.118875][ C0] RSP: 0018:ffffffffa7e07e00 EFLAGS: 00000246 [ 54.119073][ C0] RAX: 00000000000b83e7 RBX: 1ffffffff4fc0fc2 RCX: ffffffffa6f0e9d5 [ 54.119427][ C0] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffa48aa4a4 [ 54.119653][ C0] RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed1006c0709c [ 54.119887][ C0] R10: ffff8880360384e3 R11: ffff88803603dc80 R12: 0000000000000000 [ 54.120118][ C0] R13: ffffffffa7e1d000 R14: dffffc0000000000 R15: 0000000000014770 [ 54.120492][ C0] ? ct_kernel_exit.constprop.0+0xc5/0xf0 [ 54.120650][ C0] ? cpuidle_idle_call+0x1f4/0x280 [ 54.120811][ C0] default_idle_call+0x6d/0xb0 [ 54.120996][ C0] cpuidle_idle_call+0x1f4/0x280 [ 54.121185][ C0] ? __pfx_cpuidle_idle_call+0x10/0x10 [ 54.121341][ C0] ? tsc_verify_tsc_adjust+0x5e/0x2b0 [ 54.121544][ C0] do_idle+0xf9/0x160 [ 54.121781][ C0] cpu_startup_entry+0x54/0x60 [ 54.121947][ C0] rest_init+0x14f/0x260 [ 54.122067][ C0] start_kernel+0x318/0x3d0 [ 54.122221][ C0] x86_64_start_reservations+0x18/0x30 [ 54.122384][ C0] x86_64_start_kernel+0xba/0x110 [ 54.122656][ C0] common_startup_64+0x12c/0x138 [ 54.122845][ C0] [ 136.732421][ T655] Mirror/redirect action on [ 174.733135][ T797] br: port 3(veth4) entered disabled state [ 174.733933][ T797] veth4: left allmulticast mode [ 174.734160][ T797] veth4: left promiscuous mode [ 174.734546][ T797] br: port 3(veth4) entered disabled state [ 174.844034][ T798] br: port 2(veth3) entered disabled state [ 174.844562][ T798] veth3: left allmulticast mode [ 174.844741][ T798] veth3: left promiscuous mode [ 174.844999][ T798] br: port 2(veth3) entered disabled state [ 174.944658][ T799] br: port 1(veth1) entered disabled state [ 174.945130][ T799] veth1: left allmulticast mode [ 174.945274][ T799] veth1: left promiscuous mode [ 174.946463][ T799] br: port 1(veth1) entered disabled state