[ 156.777752][ T1587] [ 156.777841][ T1587] ======================================================== [ 156.777968][ T1587] WARNING: possible irq lock inversion dependency detected [ 156.778088][ T1587] 7.1.0-rc5-virtme #1 Not tainted [ 156.778173][ T1587] -------------------------------------------------------- [ 156.778293][ T1587] sysctl/1587 just changed the state of lock: [ 156.778392][ T1587] ffffffff8537e8b8 (acaddr_hash_lock){+.+.}-{3:3}, at: __ipv6_dev_ac_dec+0x236/0x5d0 [ 156.778549][ T1587] but this lock was taken by another, SOFTIRQ-safe lock in the past: [ 156.778669][ T1587] (&ndev->lock){++--}-{3:3} [ 156.778672][ T1587] [ 156.778672][ T1587] [ 156.778672][ T1587] and interrupts could create inverse lock ordering between them. [ 156.778672][ T1587] [ 156.778965][ T1587] [ 156.778965][ T1587] other info that might help us debug this: [ 156.779084][ T1587] Possible interrupt unsafe locking scenario: [ 156.779084][ T1587] [ 156.779203][ T1587] CPU0 CPU1 [ 156.779285][ T1587] ---- ---- [ 156.779368][ T1587] lock(acaddr_hash_lock); [ 156.779451][ T1587] local_irq_disable(); [ 156.779559][ T1587] lock(&ndev->lock); [ 156.779659][ T1587] lock(acaddr_hash_lock); [ 156.779761][ T1587] [ 156.779822][ T1587] lock(&ndev->lock); [ 156.779885][ T1587] [ 156.779885][ T1587] *** DEADLOCK *** [ 156.779885][ T1587] [ 156.780006][ T1587] 2 locks held by sysctl/1587: [ 156.780090][ T1587] #0: ff1100000a1a43e0 (sb_writers#3){.+.+}-{0:0}, at: ksys_write+0x116/0x250 [ 156.780239][ T1587] #1: ffffffff8528c9c0 (rtnl_mutex){+.+.}-{4:4}, at: addrconf_fixup_forwarding+0x4d/0x4d0 [ 156.780402][ T1587] [ 156.780402][ T1587] the shortest dependencies between 2nd lock and 1st lock: [ 156.780552][ T1587] -> (&ndev->lock){++--}-{3:3} { [ 156.780636][ T1587] HARDIRQ-ON-W at: [ 156.780699][ T1587] __lock_acquire+0x378/0xc10 [ 156.780805][ T1587] lock_acquire.part.0+0xbc/0x260 [ 156.780906][ T1587] _raw_write_lock_bh+0x38/0x50 [ 156.781011][ T1587] addrconf_permanent_addr+0x108/0x9c0 [ 156.781134][ T1587] addrconf_notify+0x151/0xf30 [ 156.781239][ T1587] notifier_call_chain+0xb0/0x320 [ 156.781341][ T1587] __dev_notify_flags+0xde/0x280 [ 156.781445][ T1587] netif_change_flags+0xfe/0x190 [ 156.781550][ T1587] do_setlink.isra.0+0x1cc3/0x2750 [ 156.781655][ T1587] rtnl_newlink+0x8d1/0xef0 [ 156.781759][ T1587] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 156.781861][ T1587] netlink_rcv_skb+0x14e/0x3a0 [ 156.781963][ T1587] netlink_unicast+0x486/0x750 [ 156.782064][ T1587] netlink_sendmsg+0x735/0xc60 [ 156.782170][ T1587] ____sys_sendmsg+0x419/0x850 [ 156.782273][ T1587] ___sys_sendmsg+0x14e/0x1d0 [ 156.782375][ T1587] __sys_sendmsg+0x145/0x1f0 [ 156.782478][ T1587] do_syscall_64+0x117/0x590 [ 156.782586][ T1587] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 156.782708][ T1587] HARDIRQ-ON-R at: [ 156.782769][ T1587] __lock_acquire+0x378/0xc10 [ 156.782873][ T1587] lock_acquire.part.0+0xbc/0x260 [ 156.782973][ T1587] _raw_read_lock_bh+0x44/0x80 [ 156.783077][ T1587] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 156.783201][ T1587] inet6_fill_link_af+0x5c/0xe0 [ 156.783304][ T1587] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 156.783429][ T1587] rtnl_getlink+0x9c9/0xeb0 [ 156.783533][ T1587] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 156.783635][ T1587] netlink_rcv_skb+0x14e/0x3a0 [ 156.783736][ T1587] netlink_unicast+0x486/0x750 [ 156.783840][ T1587] netlink_sendmsg+0x735/0xc60 [ 156.783943][ T1587] ____sys_sendmsg+0x419/0x850 [ 156.784045][ T1587] ___sys_sendmsg+0x14e/0x1d0 [ 156.784146][ T1587] __sys_sendmsg+0x145/0x1f0 [ 156.784248][ T1587] do_syscall_64+0x117/0x590 [ 156.784352][ T1587] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 156.784474][ T1587] IN-SOFTIRQ-W at: [ 156.784538][ T1587] __lock_acquire+0x378/0xc10 [ 156.784638][ T1587] lock_acquire.part.0+0xbc/0x260 [ 156.784740][ T1587] _raw_write_lock+0x33/0x40 [ 156.784864][ T1587] addrconf_rs_timer+0xb0/0x770 [ 156.784967][ T1587] call_timer_fn+0x163/0x4f0 [ 156.785069][ T1587] __run_timers+0x68f/0xab0 [ 156.785168][ T1587] run_timer_softirq+0xf0/0x160 [ 156.785267][ T1587] handle_softirqs+0x1d8/0x940 [ 156.785369][ T1587] __irq_exit_rcu+0x103/0x1c0 [ 156.785469][ T1587] irq_exit_rcu+0xe/0x30 [ 156.785575][ T1587] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 156.785694][ T1587] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 156.785814][ T1587] pv_native_safe_halt+0xf/0x10 [ 156.785914][ T1587] default_idle+0x9/0x10 [ 156.786013][ T1587] default_idle_call+0x6e/0xb0 [ 156.786115][ T1587] cpuidle_idle_call.constprop.0+0x237/0x410 [ 156.786235][ T1587] do_idle+0xf5/0x160 [ 156.786336][ T1587] cpu_startup_entry+0x53/0x70 [ 156.786435][ T1587] start_secondary+0x204/0x2b0 [ 156.786537][ T1587] common_startup_64+0x13e/0x148 [ 156.786639][ T1587] IN-SOFTIRQ-R at: [ 156.786699][ T1587] __lock_acquire+0x378/0xc10 [ 156.786799][ T1587] lock_acquire.part.0+0xbc/0x260 [ 156.786898][ T1587] _raw_read_lock_bh+0x44/0x80 [ 156.786999][ T1587] ipv6_get_lladdr+0xa8/0x3f0 [ 156.787098][ T1587] addrconf_rs_timer+0x251/0x770 [ 156.787199][ T1587] call_timer_fn+0x163/0x4f0 [ 156.787298][ T1587] __run_timers+0x68f/0xab0 [ 156.787399][ T1587] run_timer_softirq+0xf0/0x160 [ 156.787497][ T1587] handle_softirqs+0x1d8/0x940 [ 156.787599][ T1587] __irq_exit_rcu+0x103/0x1c0 [ 156.787700][ T1587] irq_exit_rcu+0xe/0x30 [ 156.787800][ T1587] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 156.787919][ T1587] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 156.788039][ T1587] pv_native_safe_halt+0xf/0x10 [ 156.788138][ T1587] default_idle+0x9/0x10 [ 156.788239][ T1587] default_idle_call+0x6e/0xb0 [ 156.788339][ T1587] cpuidle_idle_call.constprop.0+0x237/0x410 [ 156.788460][ T1587] do_idle+0xf5/0x160 [ 156.788566][ T1587] cpu_startup_entry+0x53/0x70 [ 156.788666][ T1587] start_secondary+0x204/0x2b0 [ 156.788766][ T1587] common_startup_64+0x13e/0x148 [ 156.788869][ T1587] INITIAL USE at: [ 156.788928][ T1587] __lock_acquire+0x378/0xc10 [ 156.789029][ T1587] lock_acquire.part.0+0xbc/0x260 [ 156.789128][ T1587] _raw_write_lock_bh+0x38/0x50 [ 156.789226][ T1587] addrconf_permanent_addr+0x108/0x9c0 [ 156.789349][ T1587] addrconf_notify+0x151/0xf30 [ 156.789449][ T1587] notifier_call_chain+0xb0/0x320 [ 156.789553][ T1587] __dev_notify_flags+0xde/0x280 [ 156.789652][ T1587] netif_change_flags+0xfe/0x190 [ 156.789752][ T1587] do_setlink.isra.0+0x1cc3/0x2750 [ 156.789852][ T1587] rtnl_newlink+0x8d1/0xef0 [ 156.789952][ T1587] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 156.790060][ T1587] netlink_rcv_skb+0x14e/0x3a0 [ 156.790163][ T1587] netlink_unicast+0x486/0x750 [ 156.790263][ T1587] netlink_sendmsg+0x735/0xc60 [ 156.790363][ T1587] ____sys_sendmsg+0x419/0x850 [ 156.790461][ T1587] ___sys_sendmsg+0x14e/0x1d0 [ 156.790567][ T1587] __sys_sendmsg+0x145/0x1f0 [ 156.790667][ T1587] do_syscall_64+0x117/0x590 [ 156.790767][ T1587] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 156.790887][ T1587] INITIAL READ USE at: [ 156.790968][ T1587] __lock_acquire+0x378/0xc10 [ 156.791068][ T1587] lock_acquire.part.0+0xbc/0x260 [ 156.791189][ T1587] _raw_read_lock_bh+0x44/0x80 [ 156.791288][ T1587] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 156.791407][ T1587] inet6_fill_link_af+0x5c/0xe0 [ 156.791509][ T1587] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 156.791635][ T1587] rtnl_getlink+0x9c9/0xeb0 [ 156.791736][ T1587] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 156.791837][ T1587] netlink_rcv_skb+0x14e/0x3a0 [ 156.791938][ T1587] netlink_unicast+0x486/0x750 [ 156.792040][ T1587] netlink_sendmsg+0x735/0xc60 [ 156.792141][ T1587] ____sys_sendmsg+0x419/0x850 [ 156.792243][ T1587] ___sys_sendmsg+0x14e/0x1d0 [ 156.792343][ T1587] __sys_sendmsg+0x145/0x1f0 [ 156.792443][ T1587] do_syscall_64+0x117/0x590 [ 156.792548][ T1587] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 156.792668][ T1587] } [ 156.792710][ T1587] ... key at: [] __key.37+0x0/0x40 [ 156.792834][ T1587] ... acquired at: [ 156.792894][ T1587] __lock_acquire+0x508/0xc10 [ 156.792975][ T1587] lock_acquire.part.0+0xbc/0x260 [ 156.793055][ T1587] _raw_spin_lock+0x33/0x40 [ 156.793138][ T1587] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 156.793236][ T1587] __ipv6_dev_ac_inc+0x57e/0x930 [ 156.793317][ T1587] addrconf_join_anycast+0x1bc/0x260 [ 156.793397][ T1587] __ipv6_ifa_notify+0x75b/0xad0 [ 156.793477][ T1587] addrconf_dad_completed+0x14b/0xe10 [ 156.793563][ T1587] addrconf_dad_work+0x3c1/0x930 [ 156.793644][ T1587] process_one_work+0xdf8/0x1410 [ 156.793725][ T1587] worker_thread+0x4f1/0xd60 [ 156.793806][ T1587] kthread+0x367/0x460 [ 156.793867][ T1587] ret_from_fork+0x474/0x6b0 [ 156.793948][ T1587] ret_from_fork_asm+0x11/0x20 [ 156.794029][ T1587] [ 156.794071][ T1587] -> (acaddr_hash_lock){+.+.}-{3:3} { [ 156.794154][ T1587] HARDIRQ-ON-W at: [ 156.794216][ T1587] __lock_acquire+0x378/0xc10 [ 156.794320][ T1587] lock_acquire.part.0+0xbc/0x260 [ 156.794420][ T1587] _raw_spin_lock+0x33/0x40 [ 156.794521][ T1587] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 156.794646][ T1587] __ipv6_dev_ac_inc+0x57e/0x930 [ 156.794746][ T1587] addrconf_join_anycast+0x1bc/0x260 [ 156.794849][ T1587] __ipv6_ifa_notify+0x75b/0xad0 [ 156.794952][ T1587] addrconf_dad_completed+0x14b/0xe10 [ 156.795053][ T1587] addrconf_dad_work+0x3c1/0x930 [ 156.795154][ T1587] process_one_work+0xdf8/0x1410 [ 156.795256][ T1587] worker_thread+0x4f1/0xd60 [ 156.795358][ T1587] kthread+0x367/0x460 [ 156.795439][ T1587] ret_from_fork+0x474/0x6b0 [ 156.795542][ T1587] ret_from_fork_asm+0x11/0x20 [ 156.795645][ T1587] SOFTIRQ-ON-W at: [ 156.795706][ T1587] __lock_acquire+0x378/0xc10 [ 156.795809][ T1587] lock_acquire.part.0+0xbc/0x260 [ 156.795909][ T1587] _raw_spin_lock+0x33/0x40 [ 156.796011][ T1587] __ipv6_dev_ac_dec+0x236/0x5d0 [ 156.796111][ T1587] addrconf_leave_anycast+0x1bc/0x260 [ 156.796211][ T1587] dev_forward_change+0x3b3/0x850 [ 156.796312][ T1587] addrconf_fixup_forwarding+0x2af/0x4d0 [ 156.796434][ T1587] addrconf_sysctl_forward+0x209/0x2b0 [ 156.796539][ T1587] proc_sys_call_handler+0x31b/0x480 [ 156.796641][ T1587] new_sync_write+0x333/0x750 [ 156.796742][ T1587] vfs_write+0x6a4/0xc10 [ 156.796842][ T1587] ksys_write+0x116/0x250 [ 156.796941][ T1587] do_syscall_64+0x117/0x590 [ 156.797042][ T1587] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 156.797161][ T1587] INITIAL USE at: [ 156.797222][ T1587] __lock_acquire+0x378/0xc10 [ 156.797322][ T1587] lock_acquire.part.0+0xbc/0x260 [ 156.797469][ T1587] _raw_spin_lock+0x33/0x40 [ 156.797573][ T1587] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 156.797693][ T1587] __ipv6_dev_ac_inc+0x57e/0x930 [ 156.797836][ T1587] addrconf_join_anycast+0x1bc/0x260 [ 156.797937][ T1587] __ipv6_ifa_notify+0x75b/0xad0 [ 156.798038][ T1587] addrconf_dad_completed+0x14b/0xe10 [ 156.798182][ T1587] addrconf_dad_work+0x3c1/0x930 [ 156.798286][ T1587] process_one_work+0xdf8/0x1410 [ 156.798386][ T1587] worker_thread+0x4f1/0xd60 [ 156.798536][ T1587] kthread+0x367/0x460 [ 156.798617][ T1587] ret_from_fork+0x474/0x6b0 [ 156.798717][ T1587] ret_from_fork_asm+0x11/0x20 [ 156.798818][ T1587] } [ 156.798901][ T1587] ... key at: [] acaddr_hash_lock+0x18/0x45a0 [ 156.799021][ T1587] ... acquired at: [ 156.799081][ T1587] mark_lock+0x1d7/0xa00 [ 156.799163][ T1587] mark_usage+0x105/0x170 [ 156.799286][ T1587] __lock_acquire+0x378/0xc10 [ 156.799366][ T1587] lock_acquire.part.0+0xbc/0x260 [ 156.799445][ T1587] _raw_spin_lock+0x33/0x40 [ 156.799534][ T1587] __ipv6_dev_ac_dec+0x236/0x5d0 [ 156.799653][ T1587] addrconf_leave_anycast+0x1bc/0x260 [ 156.799732][ T1587] dev_forward_change+0x3b3/0x850 [ 156.799813][ T1587] addrconf_fixup_forwarding+0x2af/0x4d0 [ 156.799913][ T1587] addrconf_sysctl_forward+0x209/0x2b0 [ 156.800035][ T1587] proc_sys_call_handler+0x31b/0x480 [ 156.800116][ T1587] new_sync_write+0x333/0x750 [ 156.800196][ T1587] vfs_write+0x6a4/0xc10 [ 156.800273][ T1587] ksys_write+0x116/0x250 [ 156.800394][ T1587] do_syscall_64+0x117/0x590 [ 156.800476][ T1587] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 156.800579][ T1587] [ 156.800618][ T1587] [ 156.800618][ T1587] stack backtrace: [ 156.800760][ T1587] CPU: 2 UID: 0 PID: 1587 Comm: sysctl Not tainted 7.1.0-rc5-virtme #1 PREEMPT(full) [ 156.800764][ T1587] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 156.800766][ T1587] Call Trace: [ 156.800767][ T1587] [ 156.800768][ T1587] dump_stack_lvl+0x6f/0xa0 [ 156.800772][ T1587] print_irq_inversion_bug.part.0.cold+0xe6/0x143 [ 156.800775][ T1587] mark_lock_irq+0x989/0x9c0 [ 156.800778][ T1587] mark_lock+0x1d7/0xa00 [ 156.800780][ T1587] mark_usage+0x105/0x170 [ 156.800781][ T1587] __lock_acquire+0x378/0xc10 [ 156.800783][ T1587] lock_acquire.part.0+0xbc/0x260 [ 156.800785][ T1587] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 156.800787][ T1587] ? rcu_is_watching+0x15/0xd0 [ 156.800790][ T1587] ? do_raw_read_unlock+0x70/0x70 [ 156.800792][ T1587] ? lock_acquire+0x134/0x160 [ 156.800794][ T1587] _raw_spin_lock+0x33/0x40 [ 156.800795][ T1587] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 156.800797][ T1587] __ipv6_dev_ac_dec+0x236/0x5d0 [ 156.800799][ T1587] addrconf_leave_anycast+0x1bc/0x260 [ 156.800800][ T1587] ? find_held_lock+0x2b/0x80 [ 156.800803][ T1587] ? __ipv6_isatap_ifid+0x210/0x210 [ 156.800805][ T1587] ? mark_held_locks+0x40/0x70 [ 156.800807][ T1587] ? lockdep_hardirqs_on+0x8c/0x130 [ 156.800809][ T1587] dev_forward_change+0x3b3/0x850 [ 156.800811][ T1587] ? addrconf_fixup_forwarding+0x4d/0x4d0 [ 156.800813][ T1587] ? addrconf_sysctl_proxy_ndp+0x2f0/0x2f0 [ 156.800816][ T1587] addrconf_fixup_forwarding+0x2af/0x4d0 [ 156.800818][ T1587] addrconf_sysctl_forward+0x209/0x2b0 [ 156.800820][ T1587] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 156.800822][ T1587] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 156.800824][ T1587] ? __kvmalloc_node_noprof+0x305/0x8a0 [ 156.800828][ T1587] ? proc_sys_call_handler+0x25d/0x480 [ 156.800830][ T1587] proc_sys_call_handler+0x31b/0x480 [ 156.800832][ T1587] ? proc_sys_lookup+0x3d0/0x3d0 [ 156.800834][ T1587] ? rcu_read_unlock+0x1b/0x70 [ 156.800837][ T1587] ? do_raw_spin_unlock+0x59/0x250 [ 156.800838][ T1587] ? rcu_lockdep_current_cpu_online+0x39/0x1b0 [ 156.800841][ T1587] ? rcu_read_lock_any_held+0x3c/0x90 [ 156.800842][ T1587] ? proc_sys_call_handler+0x480/0x480 [ 156.800844][ T1587] new_sync_write+0x333/0x750 [ 156.800846][ T1587] ? __lock_acquire+0x508/0xc10 [ 156.800847][ T1587] ? new_sync_read+0x740/0x740 [ 156.800849][ T1587] ? lock_acquire.part.0+0xbc/0x260 [ 156.800850][ T1587] ? ksys_write+0x116/0x250 [ 156.800853][ T1587] vfs_write+0x6a4/0xc10 [ 156.800854][ T1587] ksys_write+0x116/0x250 [ 156.800856][ T1587] ? __ia32_sys_read+0xc0/0xc0 [ 156.800857][ T1587] ? rcu_is_watching+0x15/0xd0 [ 156.800859][ T1587] ? rcu_is_watching+0x15/0xd0 [ 156.800861][ T1587] do_syscall_64+0x117/0x590 [ 156.800862][ T1587] ? trace_hardirqs_off+0xd/0x30 [ 156.800865][ T1587] ? exc_page_fault+0xee/0x100 [ 156.800867][ T1587] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 156.800869][ T1587] RIP: 0033:0x7fa918db108e [ 156.800871][ T1587] 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 [ 156.800873][ T1587] RSP: 002b:00007ffd65c1b800 EFLAGS: 00000202 ORIG_RAX: 0000000000000001 [ 156.800876][ T1587] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007fa918db108e [ 156.800878][ T1587] RDX: 0000000000000002 RSI: 00005581856334b0 RDI: 0000000000000005 [ 156.800878][ T1587] RBP: 00007ffd65c1b810 R08: 0000000000000000 R09: 0000000000000000 [ 156.800879][ T1587] R10: 0000000000000000 R11: 0000000000000202 R12: 00005581856355e0 [ 156.800880][ T1587] R13: 0000558185633470 R14: 0000000000000002 R15: 0000000000000000 [ 156.800883][ T1587]