[ 93.813988][ T2096] [ 93.814077][ T2096] ======================================================== [ 93.814206][ T2096] WARNING: possible irq lock inversion dependency detected [ 93.814329][ T2096] 7.1.0-rc5-virtme #1 Not tainted [ 93.814407][ T2096] -------------------------------------------------------- [ 93.814523][ T2096] sysctl/2096 just changed the state of lock: [ 93.814619][ T2096] ffffffffa597e8b8 (acaddr_hash_lock){+.+.}-{3:3}, at: __ipv6_dev_ac_dec+0x236/0x5d0 [ 93.814768][ T2096] but this lock was taken by another, SOFTIRQ-safe lock in the past: [ 93.814891][ T2096] (&ndev->lock){++--}-{3:3} [ 93.814894][ T2096] [ 93.814894][ T2096] [ 93.814894][ T2096] and interrupts could create inverse lock ordering between them. [ 93.814894][ T2096] [ 93.815178][ T2096] [ 93.815178][ T2096] other info that might help us debug this: [ 93.815294][ T2096] Possible interrupt unsafe locking scenario: [ 93.815294][ T2096] [ 93.815406][ T2096] CPU0 CPU1 [ 93.815484][ T2096] ---- ---- [ 93.815560][ T2096] lock(acaddr_hash_lock); [ 93.815640][ T2096] local_irq_disable(); [ 93.815741][ T2096] lock(&ndev->lock); [ 93.815841][ T2096] lock(acaddr_hash_lock); [ 93.815937][ T2096] [ 93.815997][ T2096] lock(&ndev->lock); [ 93.816058][ T2096] [ 93.816058][ T2096] *** DEADLOCK *** [ 93.816058][ T2096] [ 93.816173][ T2096] 2 locks held by sysctl/2096: [ 93.816254][ T2096] #0: ff1100001084c3e0 (sb_writers#3){.+.+}-{0:0}, at: ksys_write+0x116/0x250 [ 93.816397][ T2096] #1: ffffffffa588c9c0 (rtnl_mutex){+.+.}-{4:4}, at: addrconf_fixup_forwarding+0x4d/0x4d0 [ 93.816553][ T2096] [ 93.816553][ T2096] the shortest dependencies between 2nd lock and 1st lock: [ 93.816686][ T2096] -> (&ndev->lock){++--}-{3:3} { [ 93.816769][ T2096] HARDIRQ-ON-W at: [ 93.816839][ T2096] __lock_acquire+0x378/0xc10 [ 93.816941][ T2096] lock_acquire.part.0+0xbc/0x260 [ 93.817039][ T2096] _raw_write_lock_bh+0x38/0x50 [ 93.817139][ T2096] addrconf_permanent_addr+0x108/0x9c0 [ 93.817256][ T2096] addrconf_notify+0x151/0xf30 [ 93.817353][ T2096] notifier_call_chain+0xb0/0x320 [ 93.817450][ T2096] __dev_notify_flags+0xde/0x280 [ 93.817548][ T2096] netif_change_flags+0xfe/0x190 [ 93.817646][ T2096] do_setlink.isra.0+0x1cc3/0x2750 [ 93.817745][ T2096] rtnl_newlink+0x8d1/0xef0 [ 93.817845][ T2096] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 93.817959][ T2096] netlink_rcv_skb+0x14e/0x3a0 [ 93.818058][ T2096] netlink_unicast+0x486/0x750 [ 93.818155][ T2096] netlink_sendmsg+0x735/0xc60 [ 93.818253][ T2096] ____sys_sendmsg+0x419/0x850 [ 93.818355][ T2096] ___sys_sendmsg+0x14e/0x1d0 [ 93.818452][ T2096] __sys_sendmsg+0x145/0x1f0 [ 93.818553][ T2096] do_syscall_64+0x117/0x590 [ 93.818650][ T2096] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 93.818775][ T2096] HARDIRQ-ON-R at: [ 93.818837][ T2096] __lock_acquire+0x378/0xc10 [ 93.818937][ T2096] lock_acquire.part.0+0xbc/0x260 [ 93.819036][ T2096] _raw_read_lock_bh+0x44/0x80 [ 93.819134][ T2096] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 93.819249][ T2096] inet6_fill_link_af+0x5c/0xe0 [ 93.819345][ T2096] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 93.819461][ T2096] rtnl_getlink+0x9c9/0xeb0 [ 93.819560][ T2096] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 93.819659][ T2096] netlink_rcv_skb+0x14e/0x3a0 [ 93.819756][ T2096] netlink_unicast+0x486/0x750 [ 93.819858][ T2096] netlink_sendmsg+0x735/0xc60 [ 93.819959][ T2096] ____sys_sendmsg+0x419/0x850 [ 93.820062][ T2096] ___sys_sendmsg+0x14e/0x1d0 [ 93.820160][ T2096] __sys_sendmsg+0x145/0x1f0 [ 93.820257][ T2096] do_syscall_64+0x117/0x590 [ 93.820357][ T2096] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 93.820473][ T2096] IN-SOFTIRQ-W at: [ 93.820536][ T2096] __lock_acquire+0x378/0xc10 [ 93.820633][ T2096] lock_acquire.part.0+0xbc/0x260 [ 93.820729][ T2096] _raw_write_lock+0x33/0x40 [ 93.820833][ T2096] addrconf_rs_timer+0xb0/0x770 [ 93.820932][ T2096] call_timer_fn+0x163/0x4f0 [ 93.821033][ T2096] __run_timers+0x68f/0xab0 [ 93.821134][ T2096] run_timer_softirq+0xf0/0x160 [ 93.821241][ T2096] handle_softirqs+0x1d8/0x940 [ 93.821339][ T2096] __irq_exit_rcu+0x103/0x1c0 [ 93.821436][ T2096] irq_exit_rcu+0xe/0x30 [ 93.821532][ T2096] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 93.821648][ T2096] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 93.821763][ T2096] pv_native_safe_halt+0xf/0x10 [ 93.821861][ T2096] default_idle+0x9/0x10 [ 93.821963][ T2096] default_idle_call+0x6e/0xb0 [ 93.822059][ T2096] cpuidle_idle_call.constprop.0+0x237/0x410 [ 93.822175][ T2096] do_idle+0xf5/0x160 [ 93.822270][ T2096] cpu_startup_entry+0x53/0x70 [ 93.822367][ T2096] start_secondary+0x204/0x2b0 [ 93.822464][ T2096] common_startup_64+0x13e/0x148 [ 93.822562][ T2096] IN-SOFTIRQ-R at: [ 93.822620][ T2096] __lock_acquire+0x378/0xc10 [ 93.822715][ T2096] lock_acquire.part.0+0xbc/0x260 [ 93.822815][ T2096] _raw_read_lock_bh+0x44/0x80 [ 93.822912][ T2096] ipv6_get_lladdr+0xa8/0x3f0 [ 93.823010][ T2096] addrconf_rs_timer+0x251/0x770 [ 93.823107][ T2096] call_timer_fn+0x163/0x4f0 [ 93.823204][ T2096] __run_timers+0x68f/0xab0 [ 93.823304][ T2096] run_timer_softirq+0xf0/0x160 [ 93.823402][ T2096] handle_softirqs+0x1d8/0x940 [ 93.823496][ T2096] __irq_exit_rcu+0x103/0x1c0 [ 93.823591][ T2096] irq_exit_rcu+0xe/0x30 [ 93.823693][ T2096] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 93.823813][ T2096] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 93.823929][ T2096] pv_native_safe_halt+0xf/0x10 [ 93.824028][ T2096] default_idle+0x9/0x10 [ 93.824125][ T2096] default_idle_call+0x6e/0xb0 [ 93.824221][ T2096] cpuidle_idle_call.constprop.0+0x237/0x410 [ 93.824335][ T2096] do_idle+0xf5/0x160 [ 93.824432][ T2096] cpu_startup_entry+0x53/0x70 [ 93.824533][ T2096] start_secondary+0x204/0x2b0 [ 93.824630][ T2096] common_startup_64+0x13e/0x148 [ 93.824726][ T2096] INITIAL USE at: [ 93.824783][ T2096] __lock_acquire+0x378/0xc10 [ 93.824883][ T2096] lock_acquire.part.0+0xbc/0x260 [ 93.824981][ T2096] _raw_write_lock_bh+0x38/0x50 [ 93.825077][ T2096] addrconf_permanent_addr+0x108/0x9c0 [ 93.825194][ T2096] addrconf_notify+0x151/0xf30 [ 93.825296][ T2096] notifier_call_chain+0xb0/0x320 [ 93.825393][ T2096] __dev_notify_flags+0xde/0x280 [ 93.825497][ T2096] netif_change_flags+0xfe/0x190 [ 93.825594][ T2096] do_setlink.isra.0+0x1cc3/0x2750 [ 93.825693][ T2096] rtnl_newlink+0x8d1/0xef0 [ 93.825790][ T2096] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 93.825890][ T2096] netlink_rcv_skb+0x14e/0x3a0 [ 93.825989][ T2096] netlink_unicast+0x486/0x750 [ 93.826085][ T2096] netlink_sendmsg+0x735/0xc60 [ 93.826181][ T2096] ____sys_sendmsg+0x419/0x850 [ 93.826324][ T2096] ___sys_sendmsg+0x14e/0x1d0 [ 93.826421][ T2096] __sys_sendmsg+0x145/0x1f0 [ 93.826519][ T2096] do_syscall_64+0x117/0x590 [ 93.826656][ T2096] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 93.826769][ T2096] INITIAL READ USE at: [ 93.826852][ T2096] __lock_acquire+0x378/0xc10 [ 93.826990][ T2096] lock_acquire.part.0+0xbc/0x260 [ 93.827106][ T2096] _raw_read_lock_bh+0x44/0x80 [ 93.827203][ T2096] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 93.827360][ T2096] inet6_fill_link_af+0x5c/0xe0 [ 93.827460][ T2096] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 93.827576][ T2096] rtnl_getlink+0x9c9/0xeb0 [ 93.827718][ T2096] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 93.827822][ T2096] netlink_rcv_skb+0x14e/0x3a0 [ 93.827919][ T2096] netlink_unicast+0x486/0x750 [ 93.828055][ T2096] netlink_sendmsg+0x735/0xc60 [ 93.828153][ T2096] ____sys_sendmsg+0x419/0x850 [ 93.828250][ T2096] ___sys_sendmsg+0x14e/0x1d0 [ 93.828351][ T2096] __sys_sendmsg+0x145/0x1f0 [ 93.828488][ T2096] do_syscall_64+0x117/0x590 [ 93.828585][ T2096] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 93.828700][ T2096] } [ 93.828781][ T2096] ... key at: [] __key.37+0x0/0x40 [ 93.828907][ T2096] ... acquired at: [ 93.828966][ T2096] __lock_acquire+0x508/0xc10 [ 93.829043][ T2096] lock_acquire.part.0+0xbc/0x260 [ 93.829163][ T2096] _raw_spin_lock+0x33/0x40 [ 93.829246][ T2096] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 93.829342][ T2096] __ipv6_dev_ac_inc+0x57e/0x930 [ 93.829422][ T2096] addrconf_join_anycast+0x1bc/0x260 [ 93.829545][ T2096] __ipv6_ifa_notify+0x75b/0xad0 [ 93.829621][ T2096] addrconf_dad_completed+0x14b/0xe10 [ 93.829699][ T2096] addrconf_dad_work+0x3c1/0x930 [ 93.829779][ T2096] process_one_work+0xdf8/0x1410 [ 93.829907][ T2096] worker_thread+0x4f1/0xd60 [ 93.829988][ T2096] kthread+0x367/0x460 [ 93.830048][ T2096] ret_from_fork+0x474/0x6b0 [ 93.830127][ T2096] ret_from_fork_asm+0x11/0x20 [ 93.830244][ T2096] [ 93.830283][ T2096] -> (acaddr_hash_lock){+.+.}-{3:3} { [ 93.830363][ T2096] HARDIRQ-ON-W at: [ 93.830423][ T2096] __lock_acquire+0x378/0xc10 [ 93.830559][ T2096] lock_acquire.part.0+0xbc/0x260 [ 93.830656][ T2096] _raw_spin_lock+0x33/0x40 [ 93.830753][ T2096] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 93.830912][ T2096] __ipv6_dev_ac_inc+0x57e/0x930 [ 93.831008][ T2096] addrconf_join_anycast+0x1bc/0x260 [ 93.831105][ T2096] __ipv6_ifa_notify+0x75b/0xad0 [ 93.831201][ T2096] addrconf_dad_completed+0x14b/0xe10 [ 93.831340][ T2096] addrconf_dad_work+0x3c1/0x930 [ 93.831436][ T2096] process_one_work+0xdf8/0x1410 [ 93.831532][ T2096] worker_thread+0x4f1/0xd60 [ 93.831670][ T2096] kthread+0x367/0x460 [ 93.831748][ T2096] ret_from_fork+0x474/0x6b0 [ 93.831855][ T2096] ret_from_fork_asm+0x11/0x20 [ 93.831993][ T2096] SOFTIRQ-ON-W at: [ 93.832052][ T2096] __lock_acquire+0x378/0xc10 [ 93.832148][ T2096] lock_acquire.part.0+0xbc/0x260 [ 93.832244][ T2096] _raw_spin_lock+0x33/0x40 [ 93.832383][ T2096] __ipv6_dev_ac_dec+0x236/0x5d0 [ 93.832480][ T2096] addrconf_leave_anycast+0x1bc/0x260 [ 93.832578][ T2096] dev_forward_change+0x3b3/0x850 [ 93.832716][ T2096] addrconf_fixup_forwarding+0x2af/0x4d0 [ 93.832837][ T2096] addrconf_sysctl_forward+0x209/0x2b0 [ 93.832933][ T2096] proc_sys_call_handler+0x31b/0x480 [ 93.833072][ T2096] new_sync_write+0x333/0x750 [ 93.833171][ T2096] vfs_write+0x6a4/0xc10 [ 93.833274][ T2096] ksys_write+0x116/0x250 [ 93.833409][ T2096] do_syscall_64+0x117/0x590 [ 93.833509][ T2096] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 93.833623][ T2096] INITIAL USE at: [ 93.833680][ T2096] __lock_acquire+0x378/0xc10 [ 93.833823][ T2096] lock_acquire.part.0+0xbc/0x260 [ 93.833920][ T2096] _raw_spin_lock+0x33/0x40 [ 93.834016][ T2096] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 93.834170][ T2096] __ipv6_dev_ac_inc+0x57e/0x930 [ 93.834268][ T2096] addrconf_join_anycast+0x1bc/0x260 [ 93.834364][ T2096] __ipv6_ifa_notify+0x75b/0xad0 [ 93.834501][ T2096] addrconf_dad_completed+0x14b/0xe10 [ 93.834598][ T2096] addrconf_dad_work+0x3c1/0x930 [ 93.834692][ T2096] process_one_work+0xdf8/0x1410 [ 93.834832][ T2096] worker_thread+0x4f1/0xd60 [ 93.834927][ T2096] kthread+0x367/0x460 [ 93.835006][ T2096] ret_from_fork+0x474/0x6b0 [ 93.835158][ T2096] ret_from_fork_asm+0x11/0x20 [ 93.835257][ T2096] } [ 93.835296][ T2096] ... key at: [] acaddr_hash_lock+0x18/0x45a0 [ 93.835417][ T2096] ... acquired at: [ 93.835514][ T2096] mark_lock+0x1d7/0xa00 [ 93.835592][ T2096] mark_usage+0x105/0x170 [ 93.835673][ T2096] __lock_acquire+0x378/0xc10 [ 93.835751][ T2096] lock_acquire.part.0+0xbc/0x260 [ 93.835876][ T2096] _raw_spin_lock+0x33/0x40 [ 93.835956][ T2096] __ipv6_dev_ac_dec+0x236/0x5d0 [ 93.836036][ T2096] addrconf_leave_anycast+0x1bc/0x260 [ 93.836113][ T2096] dev_forward_change+0x3b3/0x850 [ 93.836230][ T2096] addrconf_fixup_forwarding+0x2af/0x4d0 [ 93.836333][ T2096] addrconf_sysctl_forward+0x209/0x2b0 [ 93.836412][ T2096] proc_sys_call_handler+0x31b/0x480 [ 93.836496][ T2096] new_sync_write+0x333/0x750 [ 93.836613][ T2096] vfs_write+0x6a4/0xc10 [ 93.836691][ T2096] ksys_write+0x116/0x250 [ 93.836769][ T2096] do_syscall_64+0x117/0x590 [ 93.836851][ T2096] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 93.836992][ T2096] [ 93.837031][ T2096] [ 93.837031][ T2096] stack backtrace: [ 93.837131][ T2096] CPU: 3 UID: 0 PID: 2096 Comm: sysctl Not tainted 7.1.0-rc5-virtme #1 PREEMPT(full) [ 93.837135][ T2096] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 93.837137][ T2096] Call Trace: [ 93.837138][ T2096] [ 93.837139][ T2096] dump_stack_lvl+0x6f/0xa0 [ 93.837143][ T2096] print_irq_inversion_bug.part.0.cold+0xe6/0x143 [ 93.837147][ T2096] mark_lock_irq+0x989/0x9c0 [ 93.837149][ T2096] mark_lock+0x1d7/0xa00 [ 93.837151][ T2096] mark_usage+0x105/0x170 [ 93.837153][ T2096] __lock_acquire+0x378/0xc10 [ 93.837155][ T2096] lock_acquire.part.0+0xbc/0x260 [ 93.837156][ T2096] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 93.837158][ T2096] ? rcu_is_watching+0x15/0xd0 [ 93.837161][ T2096] ? do_raw_read_unlock+0x70/0x70 [ 93.837163][ T2096] ? lock_acquire+0x134/0x160 [ 93.837165][ T2096] _raw_spin_lock+0x33/0x40 [ 93.837166][ T2096] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 93.837167][ T2096] __ipv6_dev_ac_dec+0x236/0x5d0 [ 93.837170][ T2096] addrconf_leave_anycast+0x1bc/0x260 [ 93.837171][ T2096] ? find_held_lock+0x2b/0x80 [ 93.837174][ T2096] ? __ipv6_isatap_ifid+0x210/0x210 [ 93.837176][ T2096] ? mark_held_locks+0x40/0x70 [ 93.837177][ T2096] ? lockdep_hardirqs_on+0x8c/0x130 [ 93.837180][ T2096] dev_forward_change+0x3b3/0x850 [ 93.837182][ T2096] ? addrconf_fixup_forwarding+0x4d/0x4d0 [ 93.837184][ T2096] ? addrconf_sysctl_proxy_ndp+0x2f0/0x2f0 [ 93.837186][ T2096] addrconf_fixup_forwarding+0x2af/0x4d0 [ 93.837189][ T2096] addrconf_sysctl_forward+0x209/0x2b0 [ 93.837191][ T2096] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 93.837193][ T2096] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 93.837195][ T2096] ? __kvmalloc_node_noprof+0x305/0x8a0 [ 93.837198][ T2096] ? proc_sys_call_handler+0x25d/0x480 [ 93.837201][ T2096] proc_sys_call_handler+0x31b/0x480 [ 93.837203][ T2096] ? proc_sys_lookup+0x3d0/0x3d0 [ 93.837205][ T2096] ? rcu_read_unlock+0x1b/0x70 [ 93.837207][ T2096] ? do_raw_spin_unlock+0x59/0x250 [ 93.837209][ T2096] ? rcu_lockdep_current_cpu_online+0x39/0x1b0 [ 93.837211][ T2096] ? rcu_read_lock_any_held+0x3c/0x90 [ 93.837213][ T2096] ? proc_sys_call_handler+0x480/0x480 [ 93.837215][ T2096] new_sync_write+0x333/0x750 [ 93.837216][ T2096] ? __lock_acquire+0x508/0xc10 [ 93.837217][ T2096] ? new_sync_read+0x740/0x740 [ 93.837219][ T2096] ? lock_acquire.part.0+0xbc/0x260 [ 93.837220][ T2096] ? ksys_write+0x116/0x250 [ 93.837223][ T2096] vfs_write+0x6a4/0xc10 [ 93.837224][ T2096] ksys_write+0x116/0x250 [ 93.837226][ T2096] ? __ia32_sys_read+0xc0/0xc0 [ 93.837227][ T2096] ? rcu_is_watching+0x15/0xd0 [ 93.837229][ T2096] ? rcu_is_watching+0x15/0xd0 [ 93.837231][ T2096] do_syscall_64+0x117/0x590 [ 93.837232][ T2096] ? trace_hardirqs_off+0xd/0x30 [ 93.837235][ T2096] ? exc_page_fault+0xee/0x100 [ 93.837237][ T2096] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 93.837239][ T2096] RIP: 0033:0x7f50a76d608e [ 93.837241][ T2096] Code: 4d 89 d8 e8 94 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 c3 83 e2 39 83 fa 08 75 e7 e8 03 ff ff ff 0f 1f 00 f3 0f 1e fa [ 93.837243][ T2096] RSP: 002b:00007ffce5ac4060 EFLAGS: 00000202 ORIG_RAX: 0000000000000001 [ 93.837246][ T2096] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f50a76d608e [ 93.837247][ T2096] RDX: 0000000000000002 RSI: 000056532353a4b0 RDI: 0000000000000005 [ 93.837248][ T2096] RBP: 00007ffce5ac4070 R08: 0000000000000000 R09: 0000000000000000 [ 93.837249][ T2096] R10: 0000000000000000 R11: 0000000000000202 R12: 000056532353c5e0 [ 93.837250][ T2096] R13: 000056532353a470 R14: 0000000000000002 R15: 0000000000000000 [ 93.837252][ T2096]