[ 99.707455][ T2778] br1: port 1(veth1) entered blocking state [ 99.707678][ T2778] br1: port 1(veth1) entered disabled state [ 99.707864][ T2778] veth1: entered allmulticast mode [ 99.709296][ T2778] veth1: entered promiscuous mode [ 99.739290][ T199] br1: port 1(veth1) entered blocking state [ 99.739697][ T199] br1: port 1(veth1) entered forwarding state [ 99.761112][ T2780] br1: port 2(veth2) entered blocking state [ 99.761341][ T2780] br1: port 2(veth2) entered disabled state [ 99.761592][ T2780] veth2: entered allmulticast mode [ 99.763127][ T2780] veth2: entered promiscuous mode [ 99.794836][ T46] br1: port 2(veth2) entered blocking state [ 99.795070][ T46] br1: port 2(veth2) entered forwarding state [ 104.875491][ C1] [ 104.875605][ C1] ======================================================== [ 104.875744][ C1] WARNING: possible irq lock inversion dependency detected [ 104.875867][ C1] 7.1.0-rc5-virtme #1 Not tainted [ 104.875951][ C1] -------------------------------------------------------- [ 104.876074][ C1] swapper/1/0 just changed the state of lock: [ 104.876180][ C1] ff11000005cf3d78 (&ndev->lock){++-.}-{3:3}, at: addrconf_rs_timer+0xb0/0x770 [ 104.876338][ C1] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 104.876468][ C1] (acaddr_hash_lock){+.+.}-{3:3} [ 104.876470][ C1] [ 104.876470][ C1] [ 104.876470][ C1] and interrupts could create inverse lock ordering between them. [ 104.876470][ C1] [ 104.876774][ C1] [ 104.876774][ C1] other info that might help us debug this: [ 104.876902][ C1] Possible interrupt unsafe locking scenario: [ 104.876902][ C1] [ 104.877036][ C1] CPU0 CPU1 [ 104.877119][ C1] ---- ---- [ 104.877201][ C1] lock(acaddr_hash_lock); [ 104.877282][ C1] local_irq_disable(); [ 104.877394][ C1] lock(&ndev->lock); [ 104.877497][ C1] lock(acaddr_hash_lock); [ 104.877603][ C1] [ 104.877666][ C1] lock(&ndev->lock); [ 104.877730][ C1] [ 104.877730][ C1] *** DEADLOCK *** [ 104.877730][ C1] [ 104.877846][ C1] 1 lock held by swapper/1/0: [ 104.877929][ C1] #0: ffa00000001d0c90 ((&ndev->rs_timer)){+.-.}-{0:0}, at: call_timer_fn+0x113/0x4f0 [ 104.878073][ C1] [ 104.878073][ C1] the shortest dependencies between 2nd lock and 1st lock: [ 104.878220][ C1] -> (acaddr_hash_lock){+.+.}-{3:3} { [ 104.878305][ C1] HARDIRQ-ON-W at: [ 104.878369][ C1] __lock_acquire+0x378/0xc10 [ 104.878475][ C1] lock_acquire.part.0+0xbc/0x260 [ 104.878575][ C1] _raw_spin_lock+0x33/0x40 [ 104.878690][ C1] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 104.878813][ C1] __ipv6_dev_ac_inc+0x57e/0x930 [ 104.878914][ C1] addrconf_join_anycast+0x1bc/0x260 [ 104.879021][ C1] __ipv6_ifa_notify+0x75b/0xad0 [ 104.879127][ C1] addrconf_dad_completed+0x14b/0xe10 [ 104.879254][ C1] addrconf_dad_work+0x3c1/0x930 [ 104.879359][ C1] process_one_work+0xdf8/0x1410 [ 104.879468][ C1] worker_thread+0x4f1/0xd60 [ 104.879577][ C1] kthread+0x367/0x460 [ 104.879688][ C1] ret_from_fork+0x474/0x6b0 [ 104.879792][ C1] ret_from_fork_asm+0x11/0x20 [ 104.879900][ C1] SOFTIRQ-ON-W at: [ 104.879967][ C1] __lock_acquire+0x378/0xc10 [ 104.880072][ C1] lock_acquire.part.0+0xbc/0x260 [ 104.880176][ C1] _raw_spin_lock+0x33/0x40 [ 104.880278][ C1] __ipv6_dev_ac_dec+0x236/0x5d0 [ 104.880379][ C1] addrconf_leave_anycast+0x1bc/0x260 [ 104.880504][ C1] __ipv6_ifa_notify+0x6b4/0xad0 [ 104.880609][ C1] ipv6_del_addr+0x419/0xa20 [ 104.880715][ C1] inet6_addr_del.isra.0+0x21d/0x6c0 [ 104.880821][ C1] inet6_rtm_deladdr+0x200/0x2e0 [ 104.880925][ C1] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 104.881031][ C1] netlink_rcv_skb+0x14e/0x3a0 [ 104.881137][ C1] netlink_unicast+0x486/0x750 [ 104.881239][ C1] netlink_sendmsg+0x735/0xc60 [ 104.881341][ C1] ____sys_sendmsg+0x419/0x850 [ 104.881443][ C1] ___sys_sendmsg+0x14e/0x1d0 [ 104.881548][ C1] __sys_sendmsg+0x145/0x1f0 [ 104.881653][ C1] do_syscall_64+0x117/0x590 [ 104.881760][ C1] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 104.881887][ C1] INITIAL USE at: [ 104.881947][ C1] __lock_acquire+0x378/0xc10 [ 104.882050][ C1] lock_acquire.part.0+0xbc/0x260 [ 104.882157][ C1] _raw_spin_lock+0x33/0x40 [ 104.882263][ C1] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 104.882390][ C1] __ipv6_dev_ac_inc+0x57e/0x930 [ 104.882491][ C1] addrconf_join_anycast+0x1bc/0x260 [ 104.882596][ C1] __ipv6_ifa_notify+0x75b/0xad0 [ 104.882707][ C1] addrconf_dad_completed+0x14b/0xe10 [ 104.882814][ C1] addrconf_dad_work+0x3c1/0x930 [ 104.882919][ C1] process_one_work+0xdf8/0x1410 [ 104.883019][ C1] worker_thread+0x4f1/0xd60 [ 104.883122][ C1] kthread+0x367/0x460 [ 104.883225][ C1] ret_from_fork+0x474/0x6b0 [ 104.883330][ C1] ret_from_fork_asm+0x11/0x20 [ 104.883434][ C1] } [ 104.883476][ C1] ... key at: [] acaddr_hash_lock+0x18/0x45a0 [ 104.883600][ C1] ... acquired at: [ 104.883667][ C1] __lock_acquire+0x508/0xc10 [ 104.883753][ C1] lock_acquire.part.0+0xbc/0x260 [ 104.883840][ C1] _raw_spin_lock+0x33/0x40 [ 104.883922][ C1] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 104.884022][ C1] __ipv6_dev_ac_inc+0x57e/0x930 [ 104.884110][ C1] addrconf_join_anycast+0x1bc/0x260 [ 104.884191][ C1] __ipv6_ifa_notify+0x75b/0xad0 [ 104.884272][ C1] addrconf_dad_completed+0x14b/0xe10 [ 104.884356][ C1] addrconf_dad_work+0x3c1/0x930 [ 104.884442][ C1] process_one_work+0xdf8/0x1410 [ 104.884523][ C1] worker_thread+0x4f1/0xd60 [ 104.884609][ C1] kthread+0x367/0x460 [ 104.884686][ C1] ret_from_fork+0x474/0x6b0 [ 104.884769][ C1] ret_from_fork_asm+0x11/0x20 [ 104.884856][ C1] [ 104.884898][ C1] -> (&ndev->lock){++-.}-{3:3} { [ 104.885012][ C1] HARDIRQ-ON-W at: [ 104.885073][ C1] __lock_acquire+0x378/0xc10 [ 104.885187][ C1] lock_acquire.part.0+0xbc/0x260 [ 104.885297][ C1] _raw_write_lock_bh+0x38/0x50 [ 104.885403][ C1] addrconf_permanent_addr+0x108/0x9c0 [ 104.885504][ C1] addrconf_notify+0x151/0xf30 [ 104.885612][ C1] notifier_call_chain+0xb0/0x320 [ 104.885717][ C1] __dev_notify_flags+0xde/0x280 [ 104.885823][ C1] netif_change_flags+0xfe/0x190 [ 104.885933][ C1] do_setlink.isra.0+0x1cc3/0x2750 [ 104.886039][ C1] rtnl_newlink+0x8d1/0xef0 [ 104.886144][ C1] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 104.886246][ C1] netlink_rcv_skb+0x14e/0x3a0 [ 104.886351][ C1] netlink_unicast+0x486/0x750 [ 104.886459][ C1] netlink_sendmsg+0x735/0xc60 [ 104.886561][ C1] ____sys_sendmsg+0x419/0x850 [ 104.886668][ C1] ___sys_sendmsg+0x14e/0x1d0 [ 104.886776][ C1] __sys_sendmsg+0x145/0x1f0 [ 104.886881][ C1] do_syscall_64+0x117/0x590 [ 104.886988][ C1] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 104.887114][ C1] HARDIRQ-ON-R at: [ 104.887176][ C1] __lock_acquire+0x378/0xc10 [ 104.887275][ C1] lock_acquire.part.0+0xbc/0x260 [ 104.887382][ C1] _raw_read_lock_bh+0x44/0x80 [ 104.887485][ C1] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 104.887606][ C1] inet6_fill_link_af+0x5c/0xe0 [ 104.887712][ C1] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 104.887835][ C1] rtnl_getlink+0x9c9/0xeb0 [ 104.887935][ C1] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 104.888038][ C1] netlink_rcv_skb+0x14e/0x3a0 [ 104.888143][ C1] netlink_unicast+0x486/0x750 [ 104.888245][ C1] netlink_sendmsg+0x735/0xc60 [ 104.888349][ C1] ____sys_sendmsg+0x419/0x850 [ 104.888455][ C1] ___sys_sendmsg+0x14e/0x1d0 [ 104.888559][ C1] __sys_sendmsg+0x145/0x1f0 [ 104.888665][ C1] do_syscall_64+0x117/0x590 [ 104.888774][ C1] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 104.888900][ C1] IN-SOFTIRQ-W at: [ 104.888960][ C1] __lock_acquire+0x378/0xc10 [ 104.889062][ C1] lock_acquire.part.0+0xbc/0x260 [ 104.889168][ C1] _raw_write_lock+0x33/0x40 [ 104.889272][ C1] addrconf_rs_timer+0xb0/0x770 [ 104.889374][ C1] call_timer_fn+0x163/0x4f0 [ 104.889478][ C1] __run_timers+0x68f/0xab0 [ 104.889579][ C1] run_timer_softirq+0xf0/0x160 [ 104.889684][ C1] handle_softirqs+0x1d8/0x940 [ 104.889793][ C1] __irq_exit_rcu+0x103/0x1c0 [ 104.889901][ C1] irq_exit_rcu+0xe/0x30 [ 104.890011][ C1] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 104.890143][ C1] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 104.890269][ C1] pv_native_safe_halt+0xf/0x10 [ 104.890373][ C1] default_idle+0x9/0x10 [ 104.890477][ C1] default_idle_call+0x6e/0xb0 [ 104.890580][ C1] cpuidle_idle_call.constprop.0+0x237/0x410 [ 104.890709][ C1] do_idle+0xf5/0x160 [ 104.890795][ C1] cpu_startup_entry+0x53/0x70 [ 104.890902][ C1] start_secondary+0x204/0x2b0 [ 104.891008][ C1] common_startup_64+0x13e/0x148 [ 104.891126][ C1] INITIAL USE at: [ 104.891192][ C1] __lock_acquire+0x378/0xc10 [ 104.891296][ C1] lock_acquire.part.0+0xbc/0x260 [ 104.891401][ C1] _raw_write_lock_bh+0x38/0x50 [ 104.891508][ C1] addrconf_permanent_addr+0x108/0x9c0 [ 104.891613][ C1] addrconf_notify+0x151/0xf30 [ 104.891723][ C1] notifier_call_chain+0xb0/0x320 [ 104.891829][ C1] __dev_notify_flags+0xde/0x280 [ 104.891934][ C1] netif_change_flags+0xfe/0x190 [ 104.892040][ C1] do_setlink.isra.0+0x1cc3/0x2750 [ 104.892150][ C1] rtnl_newlink+0x8d1/0xef0 [ 104.892255][ C1] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 104.892356][ C1] netlink_rcv_skb+0x14e/0x3a0 [ 104.892459][ C1] netlink_unicast+0x486/0x750 [ 104.892564][ C1] netlink_sendmsg+0x735/0xc60 [ 104.892674][ C1] ____sys_sendmsg+0x419/0x850 [ 104.892788][ C1] ___sys_sendmsg+0x14e/0x1d0 [ 104.892896][ C1] __sys_sendmsg+0x145/0x1f0 [ 104.893002][ C1] do_syscall_64+0x117/0x590 [ 104.893110][ C1] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 104.893241][ C1] INITIAL READ USE at: [ 104.893301][ C1] __lock_acquire+0x378/0xc10 [ 104.893404][ C1] lock_acquire.part.0+0xbc/0x260 [ 104.893514][ C1] _raw_read_lock_bh+0x44/0x80 [ 104.893621][ C1] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 104.893745][ C1] inet6_fill_link_af+0x5c/0xe0 [ 104.893849][ C1] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 104.893974][ C1] rtnl_getlink+0x9c9/0xeb0 [ 104.894077][ C1] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 104.894192][ C1] netlink_rcv_skb+0x14e/0x3a0 [ 104.894294][ C1] netlink_unicast+0x486/0x750 [ 104.894397][ C1] netlink_sendmsg+0x735/0xc60 [ 104.894500][ C1] ____sys_sendmsg+0x419/0x850 [ 104.894607][ C1] ___sys_sendmsg+0x14e/0x1d0 [ 104.894712][ C1] __sys_sendmsg+0x145/0x1f0 [ 104.894817][ C1] do_syscall_64+0x117/0x590 [ 104.894923][ C1] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 104.895049][ C1] } [ 104.895090][ C1] ... key at: [] __key.37+0x0/0x40 [ 104.895231][ C1] ... acquired at: [ 104.895291][ C1] mark_lock+0x1d7/0xa00 [ 104.895377][ C1] mark_usage+0x42/0x170 [ 104.895456][ C1] __lock_acquire+0x378/0xc10 [ 104.895537][ C1] lock_acquire.part.0+0xbc/0x260 [ 104.895618][ C1] _raw_write_lock+0x33/0x40 [ 104.895702][ C1] addrconf_rs_timer+0xb0/0x770 [ 104.895788][ C1] call_timer_fn+0x163/0x4f0 [ 104.895873][ C1] __run_timers+0x68f/0xab0 [ 104.895957][ C1] run_timer_softirq+0xf0/0x160 [ 104.896042][ C1] handle_softirqs+0x1d8/0x940 [ 104.896129][ C1] __irq_exit_rcu+0x103/0x1c0 [ 104.896210][ C1] irq_exit_rcu+0xe/0x30 [ 104.896291][ C1] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 104.896395][ C1] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 104.896498][ C1] pv_native_safe_halt+0xf/0x10 [ 104.896580][ C1] default_idle+0x9/0x10 [ 104.896663][ C1] default_idle_call+0x6e/0xb0 [ 104.896744][ C1] cpuidle_idle_call.constprop.0+0x237/0x410 [ 104.896850][ C1] do_idle+0xf5/0x160 [ 104.896914][ C1] cpu_startup_entry+0x53/0x70 [ 104.896999][ C1] start_secondary+0x204/0x2b0 [ 104.897088][ C1] common_startup_64+0x13e/0x148 [ 104.897172][ C1] [ 104.897212][ C1] [ 104.897212][ C1] stack backtrace: [ 104.897313][ C1] CPU: 1 UID: 0 PID: 0 Comm: swapper/1 Not tainted 7.1.0-rc5-virtme #1 PREEMPT(full) [ 104.897316][ C1] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 104.897318][ C1] Call Trace: [ 104.897319][ C1] [ 104.897322][ C1] dump_stack_lvl+0x6f/0xa0 [ 104.897326][ C1] print_irq_inversion_bug.part.0.cold+0xe6/0x143 [ 104.897329][ C1] mark_lock_irq+0x989/0x9c0 [ 104.897331][ C1] mark_lock+0x1d7/0xa00 [ 104.897333][ C1] mark_usage+0x42/0x170 [ 104.897334][ C1] __lock_acquire+0x378/0xc10 [ 104.897336][ C1] ? add_chain_cache+0x12d/0x570 [ 104.897338][ C1] lock_acquire.part.0+0xbc/0x260 [ 104.897339][ C1] ? addrconf_rs_timer+0xb0/0x770 [ 104.897341][ C1] ? rcu_is_watching+0x15/0xd0 [ 104.897344][ C1] ? lock_acquire+0x134/0x160 [ 104.897345][ C1] ? ipv6_get_lladdr+0x3f0/0x3f0 [ 104.897347][ C1] _raw_write_lock+0x33/0x40 [ 104.897349][ C1] ? addrconf_rs_timer+0xb0/0x770 [ 104.897351][ C1] addrconf_rs_timer+0xb0/0x770 [ 104.897353][ C1] ? lock_acquire.part.0+0xbc/0x260 [ 104.897354][ C1] ? ipv6_get_lladdr+0x3f0/0x3f0 [ 104.897356][ C1] ? lock_acquire+0x134/0x160 [ 104.897358][ C1] ? ipv6_get_lladdr+0x3f0/0x3f0 [ 104.897359][ C1] call_timer_fn+0x163/0x4f0 [ 104.897361][ C1] ? detach_if_pending+0x1d0/0x1d0 [ 104.897363][ C1] ? debug_object_active_state+0x430/0x430 [ 104.897366][ C1] ? find_held_lock+0x2b/0x80 [ 104.897369][ C1] ? __lock_release.isra.0+0x6b/0x1a0 [ 104.897371][ C1] ? rcu_is_watching+0x15/0xd0 [ 104.897373][ C1] __run_timers+0x68f/0xab0 [ 104.897374][ C1] ? ipv6_get_lladdr+0x3f0/0x3f0 [ 104.897377][ C1] ? __bpf_trace_itimer_expire+0x10/0x10 [ 104.897378][ C1] ? __lock_acquire+0x508/0xc10 [ 104.897381][ C1] ? __rwlock_init+0x150/0x150 [ 104.897383][ C1] run_timer_softirq+0xf0/0x160 [ 104.897385][ C1] ? __run_timers+0xab0/0xab0 [ 104.897386][ C1] ? trace_irq_enable.constprop.0+0x9b/0x180 [ 104.897389][ C1] ? rcu_is_watching+0x15/0xd0 [ 104.897391][ C1] handle_softirqs+0x1d8/0x940 [ 104.897392][ C1] ? find_held_lock+0x2b/0x80 [ 104.897394][ C1] ? __lock_release.isra.0+0x6b/0x1a0 [ 104.897396][ C1] ? _local_bh_enable+0xd0/0xd0 [ 104.897398][ C1] __irq_exit_rcu+0x103/0x1c0 [ 104.897399][ C1] irq_exit_rcu+0xe/0x30 [ 104.897400][ C1] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 104.897402][ C1] [ 104.897403][ C1] [ 104.897403][ C1] ? rcu_is_watching+0x15/0xd0 [ 104.897405][ C1] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 104.897407][ C1] RIP: 0010:pv_native_safe_halt+0xf/0x10 [ 104.897409][ C1] Code: 48 8b 3d 44 93 00 02 e8 1f 00 00 00 48 2b 05 c8 31 a3 00 c3 0f 1f 80 00 00 00 00 f3 0f 1e fa eb 07 0f 00 2d 43 b4 22 00 fb f4 0f 1f 40 d6 48 83 ec 20 8b 17 49 89 f8 83 e2 fe 41 89 d2 0f 01 [ 104.897411][ C1] RSP: 0018:ffa0000000147de8 EFLAGS: 00000296 [ 104.897413][ C1] RAX: 00000000002ee271 RBX: ff11000001bb2340 RCX: ffffffffb7ed9667 [ 104.897414][ C1] RDX: ff11000001bb2340 RSI: ffffffffbac02230 RDI: ffffffffba66f6c0 [ 104.897415][ C1] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000 [ 104.897416][ C1] R10: 0000000000000001 R11: 0000000000000001 R12: 1ff4000000028fc0 [ 104.897417][ C1] R13: 0000000000000000 R14: dffffc0000000000 R15: 0000000000000000 [ 104.897418][ C1] ? cpuidle_idle_call.constprop.0+0x237/0x410 [ 104.897420][ C1] ? lockdep_hardirqs_on+0x8c/0x130 [ 104.897422][ C1] default_idle+0x9/0x10 [ 104.897424][ C1] default_idle_call+0x6e/0xb0 [ 104.897425][ C1] cpuidle_idle_call.constprop.0+0x237/0x410 [ 104.897427][ C1] ? arch_cpu_idle_exit+0x40/0x40 [ 104.897428][ C1] ? mark_tsc_async_resets+0x30/0x30 [ 104.897430][ C1] ? debug_smp_processor_id+0x4/0x20 [ 104.897431][ C1] ? rcu_is_watching+0x15/0xd0 [ 104.897433][ C1] do_idle+0xf5/0x160 [ 104.897435][ C1] cpu_startup_entry+0x53/0x70 [ 104.897436][ C1] start_secondary+0x204/0x2b0 [ 104.897437][ C1] ? set_cpu_sibling_map+0x1fb0/0x1fb0 [ 104.897439][ C1] common_startup_64+0x13e/0x148 [ 104.897442][ C1] [ 137.613322][ T4177] br1: port 2(veth2) entered disabled state [ 137.632488][ T4178] veth2: left allmulticast mode [ 137.632608][ T4178] veth2: left promiscuous mode [ 137.632751][ T4178] br1: port 2(veth2) entered disabled state [ 137.646720][ T4179] br1: port 1(veth1) entered disabled state [ 137.658560][ T4180] veth1: left allmulticast mode [ 137.658671][ T4180] veth1: left promiscuous mode [ 137.658808][ T4180] br1: port 1(veth1) entered disabled state