[ 196.484559][ T1802] [ 196.484652][ T1802] ======================================================== [ 196.484781][ T1802] WARNING: possible irq lock inversion dependency detected [ 196.484899][ T1802] 7.1.0-rc5-virtme #1 Not tainted [ 196.484980][ T1802] -------------------------------------------------------- [ 196.485100][ T1802] sysctl/1802 just changed the state of lock: [ 196.485202][ T1802] ffffffff9277e8b8 (acaddr_hash_lock){+.+.}-{3:3}, at: __ipv6_dev_ac_dec+0x236/0x5d0 [ 196.485358][ T1802] but this lock was taken by another, SOFTIRQ-safe lock in the past: [ 196.485482][ T1802] (&ndev->lock){++--}-{3:3} [ 196.485485][ T1802] [ 196.485485][ T1802] [ 196.485485][ T1802] and interrupts could create inverse lock ordering between them. [ 196.485485][ T1802] [ 196.485783][ T1802] [ 196.485783][ T1802] other info that might help us debug this: [ 196.485908][ T1802] Possible interrupt unsafe locking scenario: [ 196.485908][ T1802] [ 196.486032][ T1802] CPU0 CPU1 [ 196.486114][ T1802] ---- ---- [ 196.486203][ T1802] lock(acaddr_hash_lock); [ 196.486289][ T1802] local_irq_disable(); [ 196.486388][ T1802] lock(&ndev->lock); [ 196.486491][ T1802] lock(acaddr_hash_lock); [ 196.486605][ T1802] [ 196.486667][ T1802] lock(&ndev->lock); [ 196.486730][ T1802] [ 196.486730][ T1802] *** DEADLOCK *** [ 196.486730][ T1802] [ 196.486855][ T1802] 2 locks held by sysctl/1802: [ 196.486942][ T1802] #0: ff1100000a1fc3e0 (sb_writers#3){.+.+}-{0:0}, at: ksys_write+0x116/0x250 [ 196.487098][ T1802] #1: ffffffff9268c9c0 (rtnl_mutex){+.+.}-{4:4}, at: addrconf_fixup_forwarding+0x4d/0x4d0 [ 196.487268][ T1802] [ 196.487268][ T1802] the shortest dependencies between 2nd lock and 1st lock: [ 196.487417][ T1802] -> (&ndev->lock){++--}-{3:3} { [ 196.487508][ T1802] HARDIRQ-ON-W at: [ 196.487587][ T1802] __lock_acquire+0x378/0xc10 [ 196.487696][ T1802] lock_acquire.part.0+0xbc/0x260 [ 196.487801][ T1802] _raw_write_lock_bh+0x38/0x50 [ 196.487909][ T1802] addrconf_permanent_addr+0x108/0x9c0 [ 196.488032][ T1802] addrconf_notify+0x151/0xf30 [ 196.488141][ T1802] notifier_call_chain+0xb0/0x320 [ 196.488244][ T1802] __dev_notify_flags+0xde/0x280 [ 196.488347][ T1802] netif_change_flags+0xfe/0x190 [ 196.488448][ T1802] do_setlink.isra.0+0x1cc3/0x2750 [ 196.488554][ T1802] rtnl_newlink+0x8d1/0xef0 [ 196.488657][ T1802] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 196.488764][ T1802] netlink_rcv_skb+0x14e/0x3a0 [ 196.488875][ T1802] netlink_unicast+0x486/0x750 [ 196.488977][ T1802] netlink_sendmsg+0x735/0xc60 [ 196.489080][ T1802] ____sys_sendmsg+0x419/0x850 [ 196.489189][ T1802] ___sys_sendmsg+0x14e/0x1d0 [ 196.489291][ T1802] __sys_sendmsg+0x145/0x1f0 [ 196.489396][ T1802] do_syscall_64+0x117/0x590 [ 196.489499][ T1802] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 196.489631][ T1802] HARDIRQ-ON-R at: [ 196.489695][ T1802] __lock_acquire+0x378/0xc10 [ 196.489797][ T1802] lock_acquire.part.0+0xbc/0x260 [ 196.489901][ T1802] _raw_read_lock_bh+0x44/0x80 [ 196.490005][ T1802] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 196.490134][ T1802] inet6_fill_link_af+0x5c/0xe0 [ 196.490242][ T1802] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 196.490365][ T1802] rtnl_getlink+0x9c9/0xeb0 [ 196.490470][ T1802] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 196.490579][ T1802] netlink_rcv_skb+0x14e/0x3a0 [ 196.490685][ T1802] netlink_unicast+0x486/0x750 [ 196.490791][ T1802] netlink_sendmsg+0x735/0xc60 [ 196.490893][ T1802] ____sys_sendmsg+0x419/0x850 [ 196.490996][ T1802] ___sys_sendmsg+0x14e/0x1d0 [ 196.491105][ T1802] __sys_sendmsg+0x145/0x1f0 [ 196.491211][ T1802] do_syscall_64+0x117/0x590 [ 196.491319][ T1802] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 196.491448][ T1802] IN-SOFTIRQ-W at: [ 196.491514][ T1802] __lock_acquire+0x378/0xc10 [ 196.491623][ T1802] lock_acquire.part.0+0xbc/0x260 [ 196.491726][ T1802] _raw_write_lock+0x33/0x40 [ 196.491829][ T1802] addrconf_rs_timer+0xb0/0x770 [ 196.491933][ T1802] call_timer_fn+0x163/0x4f0 [ 196.492038][ T1802] __run_timers+0x68f/0xab0 [ 196.492141][ T1802] run_timer_softirq+0xf0/0x160 [ 196.492246][ T1802] handle_softirqs+0x1d8/0x940 [ 196.492350][ T1802] __irq_exit_rcu+0x103/0x1c0 [ 196.492453][ T1802] irq_exit_rcu+0xe/0x30 [ 196.492560][ T1802] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 196.492686][ T1802] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 196.492815][ T1802] pv_native_safe_halt+0xf/0x10 [ 196.492918][ T1802] default_idle+0x9/0x10 [ 196.493022][ T1802] default_idle_call+0x6e/0xb0 [ 196.493175][ T1802] cpuidle_idle_call.constprop.0+0x237/0x410 [ 196.493306][ T1802] do_idle+0xf5/0x160 [ 196.493412][ T1802] cpu_startup_entry+0x53/0x70 [ 196.493597][ T1802] start_secondary+0x204/0x2b0 [ 196.493707][ T1802] common_startup_64+0x13e/0x148 [ 196.493811][ T1802] IN-SOFTIRQ-R at: [ 196.493872][ T1802] __lock_acquire+0x378/0xc10 [ 196.494020][ T1802] lock_acquire.part.0+0xbc/0x260 [ 196.494128][ T1802] _raw_read_lock_bh+0x44/0x80 [ 196.494229][ T1802] ipv6_get_lladdr+0xa8/0x3f0 [ 196.494375][ T1802] addrconf_rs_timer+0x251/0x770 [ 196.494476][ T1802] call_timer_fn+0x163/0x4f0 [ 196.494583][ T1802] __run_timers+0x68f/0xab0 [ 196.494729][ T1802] run_timer_softirq+0xf0/0x160 [ 196.494833][ T1802] handle_softirqs+0x1d8/0x940 [ 196.494934][ T1802] __irq_exit_rcu+0x103/0x1c0 [ 196.495079][ T1802] irq_exit_rcu+0xe/0x30 [ 196.495186][ T1802] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 196.495309][ T1802] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 196.495485][ T1802] pv_native_safe_halt+0xf/0x10 [ 196.495592][ T1802] default_idle+0x9/0x10 [ 196.495694][ T1802] default_idle_call+0x6e/0xb0 [ 196.495839][ T1802] cpuidle_idle_call.constprop.0+0x237/0x410 [ 196.495965][ T1802] do_idle+0xf5/0x160 [ 196.496070][ T1802] cpu_startup_entry+0x53/0x70 [ 196.496215][ T1802] start_secondary+0x204/0x2b0 [ 196.496318][ T1802] common_startup_64+0x13e/0x148 [ 196.496429][ T1802] INITIAL USE at: [ 196.496499][ T1802] __lock_acquire+0x378/0xc10 [ 196.496651][ T1802] lock_acquire.part.0+0xbc/0x260 [ 196.496755][ T1802] _raw_write_lock_bh+0x38/0x50 [ 196.496857][ T1802] addrconf_permanent_addr+0x108/0x9c0 [ 196.497022][ T1802] addrconf_notify+0x151/0xf30 [ 196.497131][ T1802] notifier_call_chain+0xb0/0x320 [ 196.497242][ T1802] __dev_notify_flags+0xde/0x280 [ 196.497388][ T1802] netif_change_flags+0xfe/0x190 [ 196.497488][ T1802] do_setlink.isra.0+0x1cc3/0x2750 [ 196.497595][ T1802] rtnl_newlink+0x8d1/0xef0 [ 196.497750][ T1802] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 196.497850][ T1802] netlink_rcv_skb+0x14e/0x3a0 [ 196.497955][ T1802] netlink_unicast+0x486/0x750 [ 196.498056][ T1802] netlink_sendmsg+0x735/0xc60 [ 196.498202][ T1802] ____sys_sendmsg+0x419/0x850 [ 196.498305][ T1802] ___sys_sendmsg+0x14e/0x1d0 [ 196.498407][ T1802] __sys_sendmsg+0x145/0x1f0 [ 196.498564][ T1802] do_syscall_64+0x117/0x590 [ 196.498666][ T1802] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 196.498788][ T1802] INITIAL READ USE at: [ 196.498912][ T1802] __lock_acquire+0x378/0xc10 [ 196.499013][ T1802] lock_acquire.part.0+0xbc/0x260 [ 196.499134][ T1802] _raw_read_lock_bh+0x44/0x80 [ 196.499284][ T1802] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 196.499405][ T1802] inet6_fill_link_af+0x5c/0xe0 [ 196.499511][ T1802] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 196.499683][ T1802] rtnl_getlink+0x9c9/0xeb0 [ 196.499785][ T1802] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 196.499888][ T1802] netlink_rcv_skb+0x14e/0x3a0 [ 196.500037][ T1802] netlink_unicast+0x486/0x750 [ 196.500137][ T1802] netlink_sendmsg+0x735/0xc60 [ 196.500239][ T1802] ____sys_sendmsg+0x419/0x850 [ 196.500383][ T1802] ___sys_sendmsg+0x14e/0x1d0 [ 196.500486][ T1802] __sys_sendmsg+0x145/0x1f0 [ 196.500607][ T1802] do_syscall_64+0x117/0x590 [ 196.500751][ T1802] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 196.500873][ T1802] } [ 196.500916][ T1802] ... key at: [] __key.37+0x0/0x40 [ 196.501041][ T1802] ... acquired at: [ 196.501145][ T1802] __lock_acquire+0x508/0xc10 [ 196.501234][ T1802] lock_acquire.part.0+0xbc/0x260 [ 196.501315][ T1802] _raw_spin_lock+0x33/0x40 [ 196.501402][ T1802] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 196.501551][ T1802] __ipv6_dev_ac_inc+0x57e/0x930 [ 196.501631][ T1802] addrconf_join_anycast+0x1bc/0x260 [ 196.501720][ T1802] __ipv6_ifa_notify+0x75b/0xad0 [ 196.501801][ T1802] addrconf_dad_completed+0x14b/0xe10 [ 196.501930][ T1802] addrconf_dad_work+0x3c1/0x930 [ 196.502011][ T1802] process_one_work+0xdf8/0x1410 [ 196.502094][ T1802] worker_thread+0x4f1/0xd60 [ 196.502177][ T1802] kthread+0x367/0x460 [ 196.502281][ T1802] ret_from_fork+0x474/0x6b0 [ 196.502363][ T1802] ret_from_fork_asm+0x11/0x20 [ 196.502446][ T1802] [ 196.502487][ T1802] -> (acaddr_hash_lock){+.+.}-{3:3} { [ 196.502581][ T1802] HARDIRQ-ON-W at: [ 196.502689][ T1802] __lock_acquire+0x378/0xc10 [ 196.502791][ T1802] lock_acquire.part.0+0xbc/0x260 [ 196.502892][ T1802] _raw_spin_lock+0x33/0x40 [ 196.503040][ T1802] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 196.503163][ T1802] __ipv6_dev_ac_inc+0x57e/0x930 [ 196.503264][ T1802] addrconf_join_anycast+0x1bc/0x260 [ 196.503409][ T1802] __ipv6_ifa_notify+0x75b/0xad0 [ 196.503514][ T1802] addrconf_dad_completed+0x14b/0xe10 [ 196.503623][ T1802] addrconf_dad_work+0x3c1/0x930 [ 196.503768][ T1802] process_one_work+0xdf8/0x1410 [ 196.503874][ T1802] worker_thread+0x4f1/0xd60 [ 196.503978][ T1802] kthread+0x367/0x460 [ 196.504060][ T1802] ret_from_fork+0x474/0x6b0 [ 196.504204][ T1802] ret_from_fork_asm+0x11/0x20 [ 196.504310][ T1802] SOFTIRQ-ON-W at: [ 196.504371][ T1802] __lock_acquire+0x378/0xc10 [ 196.504516][ T1802] lock_acquire.part.0+0xbc/0x260 [ 196.504621][ T1802] _raw_spin_lock+0x33/0x40 [ 196.504722][ T1802] __ipv6_dev_ac_dec+0x236/0x5d0 [ 196.504823][ T1802] addrconf_leave_anycast+0x1bc/0x260 [ 196.504967][ T1802] dev_forward_change+0x3b3/0x850 [ 196.505072][ T1802] addrconf_fixup_forwarding+0x2af/0x4d0 [ 196.505194][ T1802] addrconf_sysctl_forward+0x209/0x2b0 [ 196.505339][ T1802] proc_sys_call_handler+0x31b/0x480 [ 196.505455][ T1802] new_sync_write+0x333/0x750 [ 196.505565][ T1802] vfs_write+0x6a4/0xc10 [ 196.505714][ T1802] ksys_write+0x116/0x250 [ 196.505820][ T1802] do_syscall_64+0x117/0x590 [ 196.505921][ T1802] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 196.506086][ T1802] INITIAL USE at: [ 196.506152][ T1802] __lock_acquire+0x378/0xc10 [ 196.506260][ T1802] lock_acquire.part.0+0xbc/0x260 [ 196.506410][ T1802] _raw_spin_lock+0x33/0x40 [ 196.506513][ T1802] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 196.506640][ T1802] __ipv6_dev_ac_inc+0x57e/0x930 [ 196.506789][ T1802] addrconf_join_anycast+0x1bc/0x260 [ 196.506895][ T1802] __ipv6_ifa_notify+0x75b/0xad0 [ 196.507006][ T1802] addrconf_dad_completed+0x14b/0xe10 [ 196.507108][ T1802] addrconf_dad_work+0x3c1/0x930 [ 196.507254][ T1802] process_one_work+0xdf8/0x1410 [ 196.507355][ T1802] worker_thread+0x4f1/0xd60 [ 196.507462][ T1802] kthread+0x367/0x460 [ 196.507598][ T1802] ret_from_fork+0x474/0x6b0 [ 196.507703][ T1802] ret_from_fork_asm+0x11/0x20 [ 196.507804][ T1802] } [ 196.507844][ T1802] ... key at: [] acaddr_hash_lock+0x18/0x45a0 [ 196.508006][ T1802] ... acquired at: [ 196.508066][ T1802] mark_lock+0x1d7/0xa00 [ 196.508146][ T1802] mark_usage+0x105/0x170 [ 196.508235][ T1802] __lock_acquire+0x378/0xc10 [ 196.508357][ T1802] lock_acquire.part.0+0xbc/0x260 [ 196.508436][ T1802] _raw_spin_lock+0x33/0x40 [ 196.508525][ T1802] __ipv6_dev_ac_dec+0x236/0x5d0 [ 196.508610][ T1802] addrconf_leave_anycast+0x1bc/0x260 [ 196.508732][ T1802] dev_forward_change+0x3b3/0x850 [ 196.508812][ T1802] addrconf_fixup_forwarding+0x2af/0x4d0 [ 196.508914][ T1802] addrconf_sysctl_forward+0x209/0x2b0 [ 196.509034][ T1802] proc_sys_call_handler+0x31b/0x480 [ 196.509125][ T1802] new_sync_write+0x333/0x750 [ 196.509204][ T1802] vfs_write+0x6a4/0xc10 [ 196.509284][ T1802] ksys_write+0x116/0x250 [ 196.509407][ T1802] do_syscall_64+0x117/0x590 [ 196.509496][ T1802] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 196.509608][ T1802] [ 196.509647][ T1802] [ 196.509647][ T1802] stack backtrace: [ 196.509790][ T1802] CPU: 3 UID: 0 PID: 1802 Comm: sysctl Not tainted 7.1.0-rc5-virtme #1 PREEMPT(full) [ 196.509794][ T1802] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 196.509796][ T1802] Call Trace: [ 196.509798][ T1802] [ 196.509799][ T1802] dump_stack_lvl+0x6f/0xa0 [ 196.509803][ T1802] print_irq_inversion_bug.part.0.cold+0xe6/0x143 [ 196.509806][ T1802] mark_lock_irq+0x989/0x9c0 [ 196.509809][ T1802] mark_lock+0x1d7/0xa00 [ 196.509811][ T1802] mark_usage+0x105/0x170 [ 196.509812][ T1802] __lock_acquire+0x378/0xc10 [ 196.509815][ T1802] lock_acquire.part.0+0xbc/0x260 [ 196.509816][ T1802] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 196.509818][ T1802] ? rcu_is_watching+0x15/0xd0 [ 196.509821][ T1802] ? do_raw_read_unlock+0x70/0x70 [ 196.509823][ T1802] ? lock_acquire+0x134/0x160 [ 196.509825][ T1802] _raw_spin_lock+0x33/0x40 [ 196.509826][ T1802] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 196.509828][ T1802] __ipv6_dev_ac_dec+0x236/0x5d0 [ 196.509830][ T1802] addrconf_leave_anycast+0x1bc/0x260 [ 196.509832][ T1802] ? find_held_lock+0x2b/0x80 [ 196.509834][ T1802] ? __ipv6_isatap_ifid+0x210/0x210 [ 196.509836][ T1802] ? mark_held_locks+0x40/0x70 [ 196.509838][ T1802] ? lockdep_hardirqs_on+0x8c/0x130 [ 196.509840][ T1802] dev_forward_change+0x3b3/0x850 [ 196.509842][ T1802] ? addrconf_fixup_forwarding+0x4d/0x4d0 [ 196.509844][ T1802] ? addrconf_sysctl_proxy_ndp+0x2f0/0x2f0 [ 196.509847][ T1802] addrconf_fixup_forwarding+0x2af/0x4d0 [ 196.509849][ T1802] addrconf_sysctl_forward+0x209/0x2b0 [ 196.509852][ T1802] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 196.509854][ T1802] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 196.509856][ T1802] ? __kvmalloc_node_noprof+0x305/0x8a0 [ 196.509859][ T1802] ? proc_sys_call_handler+0x25d/0x480 [ 196.509862][ T1802] proc_sys_call_handler+0x31b/0x480 [ 196.509864][ T1802] ? proc_sys_lookup+0x3d0/0x3d0 [ 196.509866][ T1802] ? do_fault_around+0x300/0x5a0 [ 196.509869][ T1802] ? find_held_lock+0x2b/0x80 [ 196.509871][ T1802] ? rcu_lockdep_current_cpu_online+0x39/0x1b0 [ 196.509873][ T1802] ? rcu_read_lock_any_held+0x3c/0x90 [ 196.509875][ T1802] ? proc_sys_call_handler+0x480/0x480 [ 196.509877][ T1802] new_sync_write+0x333/0x750 [ 196.509878][ T1802] ? __lock_acquire+0x508/0xc10 [ 196.509880][ T1802] ? new_sync_read+0x740/0x740 [ 196.509881][ T1802] ? lock_acquire.part.0+0xbc/0x260 [ 196.509883][ T1802] ? ksys_write+0x116/0x250 [ 196.509885][ T1802] vfs_write+0x6a4/0xc10 [ 196.509887][ T1802] ksys_write+0x116/0x250 [ 196.509888][ T1802] ? __ia32_sys_read+0xc0/0xc0 [ 196.509890][ T1802] ? rcu_is_watching+0x15/0xd0 [ 196.509891][ T1802] ? rcu_is_watching+0x15/0xd0 [ 196.509893][ T1802] do_syscall_64+0x117/0x590 [ 196.509895][ T1802] ? trace_hardirqs_off+0xd/0x30 [ 196.509898][ T1802] ? exc_page_fault+0xee/0x100 [ 196.509899][ T1802] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 196.509901][ T1802] RIP: 0033:0x7f607375408e [ 196.509904][ T1802] 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 [ 196.509906][ T1802] RSP: 002b:00007fffde8b5470 EFLAGS: 00000202 ORIG_RAX: 0000000000000001 [ 196.509909][ T1802] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f607375408e [ 196.509910][ T1802] RDX: 0000000000000002 RSI: 0000555c230434b0 RDI: 0000000000000005 [ 196.509911][ T1802] RBP: 00007fffde8b5480 R08: 0000000000000000 R09: 0000000000000000 [ 196.509912][ T1802] R10: 0000000000000000 R11: 0000000000000202 R12: 0000555c230455e0 [ 196.509913][ T1802] R13: 0000555c23043470 R14: 0000000000000002 R15: 0000000000000000 [ 196.509915][ T1802] [ 201.675900][ T1826] Initializing XFRM netlink socket