[ 114.373049][ T2099] [ 114.373133][ T2099] ======================================================== [ 114.373274][ T2099] WARNING: possible irq lock inversion dependency detected [ 114.373401][ T2099] 7.1.0-rc5-virtme #1 Not tainted [ 114.373488][ T2099] -------------------------------------------------------- [ 114.373608][ T2099] sysctl/2099 just changed the state of lock: [ 114.373709][ T2099] ffffffffa017e8b8 (acaddr_hash_lock){+.+.}-{3:3}, at: __ipv6_dev_ac_dec+0x236/0x5d0 [ 114.373867][ T2099] but this lock was taken by another, SOFTIRQ-safe lock in the past: [ 114.373991][ T2099] (&ndev->lock){++--}-{3:3} [ 114.373993][ T2099] [ 114.373993][ T2099] [ 114.373993][ T2099] and interrupts could create inverse lock ordering between them. [ 114.373993][ T2099] [ 114.374304][ T2099] [ 114.374304][ T2099] other info that might help us debug this: [ 114.374431][ T2099] Possible interrupt unsafe locking scenario: [ 114.374431][ T2099] [ 114.374555][ T2099] CPU0 CPU1 [ 114.374638][ T2099] ---- ---- [ 114.374722][ T2099] lock(acaddr_hash_lock); [ 114.374807][ T2099] local_irq_disable(); [ 114.374910][ T2099] lock(&ndev->lock); [ 114.375014][ T2099] lock(acaddr_hash_lock); [ 114.375117][ T2099] [ 114.375187][ T2099] lock(&ndev->lock); [ 114.375250][ T2099] [ 114.375250][ T2099] *** DEADLOCK *** [ 114.375250][ T2099] [ 114.375371][ T2099] 2 locks held by sysctl/2099: [ 114.375458][ T2099] #0: ff1100000a19c3e0 (sb_writers#3){.+.+}-{0:0}, at: ksys_write+0x116/0x250 [ 114.375611][ T2099] #1: ffffffffa008c9c0 (rtnl_mutex){+.+.}-{4:4}, at: addrconf_fixup_forwarding+0x4d/0x4d0 [ 114.375787][ T2099] [ 114.375787][ T2099] the shortest dependencies between 2nd lock and 1st lock: [ 114.375939][ T2099] -> (&ndev->lock){++--}-{3:3} { [ 114.376027][ T2099] HARDIRQ-ON-W at: [ 114.376096][ T2099] __lock_acquire+0x378/0xc10 [ 114.376214][ T2099] lock_acquire.part.0+0xbc/0x260 [ 114.376323][ T2099] _raw_write_lock_bh+0x38/0x50 [ 114.376437][ T2099] addrconf_permanent_addr+0x108/0x9c0 [ 114.376568][ T2099] addrconf_notify+0x151/0xf30 [ 114.376678][ T2099] notifier_call_chain+0xb0/0x320 [ 114.376787][ T2099] __dev_notify_flags+0xde/0x280 [ 114.376900][ T2099] netif_change_flags+0xfe/0x190 [ 114.377008][ T2099] do_setlink.isra.0+0x1cc3/0x2750 [ 114.377121][ T2099] rtnl_newlink+0x8d1/0xef0 [ 114.377232][ T2099] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 114.377339][ T2099] netlink_rcv_skb+0x14e/0x3a0 [ 114.377443][ T2099] netlink_unicast+0x486/0x750 [ 114.377550][ T2099] netlink_sendmsg+0x735/0xc60 [ 114.377662][ T2099] ____sys_sendmsg+0x419/0x850 [ 114.377767][ T2099] ___sys_sendmsg+0x14e/0x1d0 [ 114.377878][ T2099] __sys_sendmsg+0x145/0x1f0 [ 114.377982][ T2099] do_syscall_64+0x117/0x590 [ 114.378089][ T2099] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 114.378217][ T2099] HARDIRQ-ON-R at: [ 114.378284][ T2099] __lock_acquire+0x378/0xc10 [ 114.378386][ T2099] lock_acquire.part.0+0xbc/0x260 [ 114.378488][ T2099] _raw_read_lock_bh+0x44/0x80 [ 114.378595][ T2099] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 114.378728][ T2099] inet6_fill_link_af+0x5c/0xe0 [ 114.378840][ T2099] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 114.378970][ T2099] rtnl_getlink+0x9c9/0xeb0 [ 114.379072][ T2099] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 114.379224][ T2099] netlink_rcv_skb+0x14e/0x3a0 [ 114.379327][ T2099] netlink_unicast+0x486/0x750 [ 114.379439][ T2099] netlink_sendmsg+0x735/0xc60 [ 114.379584][ T2099] ____sys_sendmsg+0x419/0x850 [ 114.379688][ T2099] ___sys_sendmsg+0x14e/0x1d0 [ 114.379793][ T2099] __sys_sendmsg+0x145/0x1f0 [ 114.379899][ T2099] do_syscall_64+0x117/0x590 [ 114.380044][ T2099] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 114.380177][ T2099] IN-SOFTIRQ-W at: [ 114.380241][ T2099] __lock_acquire+0x378/0xc10 [ 114.380386][ T2099] lock_acquire.part.0+0xbc/0x260 [ 114.380492][ T2099] _raw_write_lock+0x33/0x40 [ 114.380594][ T2099] addrconf_rs_timer+0xb0/0x770 [ 114.380742][ T2099] call_timer_fn+0x163/0x4f0 [ 114.380852][ T2099] __run_timers+0x68f/0xab0 [ 114.380965][ T2099] run_timer_softirq+0xf0/0x160 [ 114.381114][ T2099] handle_softirqs+0x1d8/0x940 [ 114.381227][ T2099] __irq_exit_rcu+0x103/0x1c0 [ 114.381339][ T2099] irq_exit_rcu+0xe/0x30 [ 114.381446][ T2099] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 114.381620][ T2099] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 114.381752][ T2099] pv_native_safe_halt+0xf/0x10 [ 114.381900][ T2099] default_idle+0x9/0x10 [ 114.382007][ T2099] default_idle_call+0x6e/0xb0 [ 114.382119][ T2099] cpuidle_idle_call.constprop.0+0x237/0x410 [ 114.382286][ T2099] do_idle+0xf5/0x160 [ 114.382393][ T2099] cpu_startup_entry+0x53/0x70 [ 114.382495][ T2099] rest_init+0x1f7/0x200 [ 114.382603][ T2099] start_kernel+0x3ad/0x3b0 [ 114.382748][ T2099] x86_64_start_reservations+0x24/0x30 [ 114.382876][ T2099] x86_64_start_kernel+0x12b/0x130 [ 114.382981][ T2099] common_startup_64+0x13e/0x148 [ 114.383130][ T2099] IN-SOFTIRQ-R at: [ 114.383197][ T2099] __lock_acquire+0x378/0xc10 [ 114.383304][ T2099] lock_acquire.part.0+0xbc/0x260 [ 114.383417][ T2099] _raw_read_lock_bh+0x44/0x80 [ 114.383521][ T2099] ipv6_get_lladdr+0xa8/0x3f0 [ 114.383625][ T2099] addrconf_rs_timer+0x251/0x770 [ 114.383729][ T2099] call_timer_fn+0x163/0x4f0 [ 114.383837][ T2099] __run_timers+0x68f/0xab0 [ 114.383951][ T2099] run_timer_softirq+0xf0/0x160 [ 114.384060][ T2099] handle_softirqs+0x1d8/0x940 [ 114.384171][ T2099] __irq_exit_rcu+0x103/0x1c0 [ 114.384280][ T2099] irq_exit_rcu+0xe/0x30 [ 114.384388][ T2099] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 114.384520][ T2099] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 114.384653][ T2099] pv_native_safe_halt+0xf/0x10 [ 114.384766][ T2099] default_idle+0x9/0x10 [ 114.384874][ T2099] default_idle_call+0x6e/0xb0 [ 114.384979][ T2099] cpuidle_idle_call.constprop.0+0x237/0x410 [ 114.385107][ T2099] do_idle+0xf5/0x160 [ 114.385215][ T2099] cpu_startup_entry+0x53/0x70 [ 114.385320][ T2099] rest_init+0x1f7/0x200 [ 114.385428][ T2099] start_kernel+0x3ad/0x3b0 [ 114.385576][ T2099] x86_64_start_reservations+0x24/0x30 [ 114.385711][ T2099] x86_64_start_kernel+0x12b/0x130 [ 114.385818][ T2099] common_startup_64+0x13e/0x148 [ 114.385967][ T2099] INITIAL USE at: [ 114.386034][ T2099] __lock_acquire+0x378/0xc10 [ 114.386147][ T2099] lock_acquire.part.0+0xbc/0x260 [ 114.386294][ T2099] _raw_write_lock_bh+0x38/0x50 [ 114.386407][ T2099] addrconf_permanent_addr+0x108/0x9c0 [ 114.386535][ T2099] addrconf_notify+0x151/0xf30 [ 114.386689][ T2099] notifier_call_chain+0xb0/0x320 [ 114.386801][ T2099] __dev_notify_flags+0xde/0x280 [ 114.386908][ T2099] netif_change_flags+0xfe/0x190 [ 114.387016][ T2099] do_setlink.isra.0+0x1cc3/0x2750 [ 114.387168][ T2099] rtnl_newlink+0x8d1/0xef0 [ 114.387273][ T2099] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 114.387376][ T2099] netlink_rcv_skb+0x14e/0x3a0 [ 114.387520][ T2099] netlink_unicast+0x486/0x750 [ 114.387623][ T2099] netlink_sendmsg+0x735/0xc60 [ 114.387751][ T2099] ____sys_sendmsg+0x419/0x850 [ 114.387898][ T2099] ___sys_sendmsg+0x14e/0x1d0 [ 114.388006][ T2099] __sys_sendmsg+0x145/0x1f0 [ 114.388115][ T2099] do_syscall_64+0x117/0x590 [ 114.388269][ T2099] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 114.388398][ T2099] INITIAL READ USE at: [ 114.388485][ T2099] __lock_acquire+0x378/0xc10 [ 114.388634][ T2099] lock_acquire.part.0+0xbc/0x260 [ 114.388768][ T2099] _raw_read_lock_bh+0x44/0x80 [ 114.388880][ T2099] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 114.389049][ T2099] inet6_fill_link_af+0x5c/0xe0 [ 114.389157][ T2099] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 114.389291][ T2099] rtnl_getlink+0x9c9/0xeb0 [ 114.389438][ T2099] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 114.389540][ T2099] netlink_rcv_skb+0x14e/0x3a0 [ 114.389648][ T2099] netlink_unicast+0x486/0x750 [ 114.389803][ T2099] netlink_sendmsg+0x735/0xc60 [ 114.389916][ T2099] ____sys_sendmsg+0x419/0x850 [ 114.390024][ T2099] ___sys_sendmsg+0x14e/0x1d0 [ 114.390133][ T2099] __sys_sendmsg+0x145/0x1f0 [ 114.390288][ T2099] do_syscall_64+0x117/0x590 [ 114.390396][ T2099] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 114.390520][ T2099] } [ 114.390603][ T2099] ... key at: [] __key.37+0x0/0x40 [ 114.390733][ T2099] ... acquired at: [ 114.390795][ T2099] __lock_acquire+0x508/0xc10 [ 114.390881][ T2099] lock_acquire.part.0+0xbc/0x260 [ 114.391001][ T2099] _raw_spin_lock+0x33/0x40 [ 114.391083][ T2099] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 114.391198][ T2099] __ipv6_dev_ac_inc+0x57e/0x930 [ 114.391284][ T2099] addrconf_join_anycast+0x1bc/0x260 [ 114.391410][ T2099] __ipv6_ifa_notify+0x75b/0xad0 [ 114.391493][ T2099] addrconf_dad_completed+0x14b/0xe10 [ 114.391579][ T2099] addrconf_dad_work+0x3c1/0x930 [ 114.391661][ T2099] process_one_work+0xdf8/0x1410 [ 114.391787][ T2099] worker_thread+0x4f1/0xd60 [ 114.391875][ T2099] kthread+0x367/0x460 [ 114.391939][ T2099] ret_from_fork+0x474/0x6b0 [ 114.392028][ T2099] ret_from_fork_asm+0x11/0x20 [ 114.392166][ T2099] [ 114.392208][ T2099] -> (acaddr_hash_lock){+.+.}-{3:3} { [ 114.392297][ T2099] HARDIRQ-ON-W at: [ 114.392359][ T2099] __lock_acquire+0x378/0xc10 [ 114.392506][ T2099] lock_acquire.part.0+0xbc/0x260 [ 114.392619][ T2099] _raw_spin_lock+0x33/0x40 [ 114.392723][ T2099] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 114.392897][ T2099] __ipv6_dev_ac_inc+0x57e/0x930 [ 114.393001][ T2099] addrconf_join_anycast+0x1bc/0x260 [ 114.393104][ T2099] __ipv6_ifa_notify+0x75b/0xad0 [ 114.393213][ T2099] addrconf_dad_completed+0x14b/0xe10 [ 114.393357][ T2099] addrconf_dad_work+0x3c1/0x930 [ 114.393466][ T2099] process_one_work+0xdf8/0x1410 [ 114.393568][ T2099] worker_thread+0x4f1/0xd60 [ 114.393717][ T2099] kthread+0x367/0x460 [ 114.393801][ T2099] ret_from_fork+0x474/0x6b0 [ 114.393903][ T2099] ret_from_fork_asm+0x11/0x20 [ 114.394046][ T2099] SOFTIRQ-ON-W at: [ 114.394109][ T2099] __lock_acquire+0x378/0xc10 [ 114.394216][ T2099] lock_acquire.part.0+0xbc/0x260 [ 114.394318][ T2099] _raw_spin_lock+0x33/0x40 [ 114.394464][ T2099] __ipv6_dev_ac_dec+0x236/0x5d0 [ 114.394572][ T2099] addrconf_leave_anycast+0x1bc/0x260 [ 114.394679][ T2099] dev_forward_change+0x3b3/0x850 [ 114.394832][ T2099] addrconf_fixup_forwarding+0x2af/0x4d0 [ 114.394956][ T2099] addrconf_sysctl_forward+0x209/0x2b0 [ 114.395061][ T2099] proc_sys_call_handler+0x31b/0x480 [ 114.395221][ T2099] new_sync_write+0x333/0x750 [ 114.395328][ T2099] vfs_write+0x6a4/0xc10 [ 114.395434][ T2099] ksys_write+0x116/0x250 [ 114.395583][ T2099] do_syscall_64+0x117/0x590 [ 114.395691][ T2099] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 114.395824][ T2099] INITIAL USE at: [ 114.395890][ T2099] __lock_acquire+0x378/0xc10 [ 114.396038][ T2099] lock_acquire.part.0+0xbc/0x260 [ 114.396145][ T2099] _raw_spin_lock+0x33/0x40 [ 114.396253][ T2099] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 114.396418][ T2099] __ipv6_dev_ac_inc+0x57e/0x930 [ 114.396526][ T2099] addrconf_join_anycast+0x1bc/0x260 [ 114.396627][ T2099] __ipv6_ifa_notify+0x75b/0xad0 [ 114.396775][ T2099] addrconf_dad_completed+0x14b/0xe10 [ 114.396889][ T2099] addrconf_dad_work+0x3c1/0x930 [ 114.396993][ T2099] process_one_work+0xdf8/0x1410 [ 114.397143][ T2099] worker_thread+0x4f1/0xd60 [ 114.397250][ T2099] kthread+0x367/0x460 [ 114.397337][ T2099] ret_from_fork+0x474/0x6b0 [ 114.397492][ T2099] ret_from_fork_asm+0x11/0x20 [ 114.397604][ T2099] } [ 114.397647][ T2099] ... key at: [] acaddr_hash_lock+0x18/0x45a0 [ 114.397773][ T2099] ... acquired at: [ 114.397874][ T2099] mark_lock+0x1d7/0xa00 [ 114.397958][ T2099] mark_usage+0x105/0x170 [ 114.398039][ T2099] __lock_acquire+0x378/0xc10 [ 114.398121][ T2099] lock_acquire.part.0+0xbc/0x260 [ 114.398208][ T2099] _raw_spin_lock+0x33/0x40 [ 114.398290][ T2099] __ipv6_dev_ac_dec+0x236/0x5d0 [ 114.398373][ T2099] addrconf_leave_anycast+0x1bc/0x260 [ 114.398460][ T2099] dev_forward_change+0x3b3/0x850 [ 114.398586][ T2099] addrconf_fixup_forwarding+0x2af/0x4d0 [ 114.398698][ T2099] addrconf_sysctl_forward+0x209/0x2b0 [ 114.398785][ T2099] proc_sys_call_handler+0x31b/0x480 [ 114.398872][ T2099] new_sync_write+0x333/0x750 [ 114.398995][ T2099] vfs_write+0x6a4/0xc10 [ 114.399079][ T2099] ksys_write+0x116/0x250 [ 114.399170][ T2099] do_syscall_64+0x117/0x590 [ 114.399253][ T2099] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 114.399396][ T2099] [ 114.399436][ T2099] [ 114.399436][ T2099] stack backtrace: [ 114.399540][ T2099] CPU: 0 UID: 0 PID: 2099 Comm: sysctl Not tainted 7.1.0-rc5-virtme #1 PREEMPT(full) [ 114.399543][ T2099] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 114.399545][ T2099] Call Trace: [ 114.399546][ T2099] [ 114.399547][ T2099] dump_stack_lvl+0x6f/0xa0 [ 114.399551][ T2099] print_irq_inversion_bug.part.0.cold+0xe6/0x143 [ 114.399554][ T2099] mark_lock_irq+0x989/0x9c0 [ 114.399557][ T2099] mark_lock+0x1d7/0xa00 [ 114.399559][ T2099] mark_usage+0x105/0x170 [ 114.399560][ T2099] __lock_acquire+0x378/0xc10 [ 114.399562][ T2099] lock_acquire.part.0+0xbc/0x260 [ 114.399564][ T2099] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 114.399565][ T2099] ? rcu_is_watching+0x15/0xd0 [ 114.399568][ T2099] ? do_raw_read_unlock+0x70/0x70 [ 114.399570][ T2099] ? lock_acquire+0x134/0x160 [ 114.399571][ T2099] _raw_spin_lock+0x33/0x40 [ 114.399573][ T2099] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 114.399574][ T2099] __ipv6_dev_ac_dec+0x236/0x5d0 [ 114.399576][ T2099] addrconf_leave_anycast+0x1bc/0x260 [ 114.399578][ T2099] ? find_held_lock+0x2b/0x80 [ 114.399581][ T2099] ? __ipv6_isatap_ifid+0x210/0x210 [ 114.399582][ T2099] ? mark_held_locks+0x40/0x70 [ 114.399584][ T2099] ? lockdep_hardirqs_on+0x8c/0x130 [ 114.399586][ T2099] dev_forward_change+0x3b3/0x850 [ 114.399588][ T2099] ? addrconf_fixup_forwarding+0x4d/0x4d0 [ 114.399590][ T2099] ? addrconf_sysctl_proxy_ndp+0x2f0/0x2f0 [ 114.399593][ T2099] addrconf_fixup_forwarding+0x2af/0x4d0 [ 114.399595][ T2099] addrconf_sysctl_forward+0x209/0x2b0 [ 114.399597][ T2099] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 114.399599][ T2099] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 114.399601][ T2099] ? __kvmalloc_node_noprof+0x305/0x8a0 [ 114.399604][ T2099] ? proc_sys_call_handler+0x25d/0x480 [ 114.399607][ T2099] proc_sys_call_handler+0x31b/0x480 [ 114.399609][ T2099] ? proc_sys_lookup+0x3d0/0x3d0 [ 114.399611][ T2099] ? do_fault_around+0x300/0x5a0 [ 114.399613][ T2099] ? find_held_lock+0x2b/0x80 [ 114.399615][ T2099] ? rcu_lockdep_current_cpu_online+0x39/0x1b0 [ 114.399617][ T2099] ? rcu_read_lock_any_held+0x3c/0x90 [ 114.399619][ T2099] ? proc_sys_call_handler+0x480/0x480 [ 114.399621][ T2099] new_sync_write+0x333/0x750 [ 114.399622][ T2099] ? __lock_acquire+0x508/0xc10 [ 114.399624][ T2099] ? new_sync_read+0x740/0x740 [ 114.399625][ T2099] ? lock_acquire.part.0+0xbc/0x260 [ 114.399627][ T2099] ? ksys_write+0x116/0x250 [ 114.399629][ T2099] vfs_write+0x6a4/0xc10 [ 114.399630][ T2099] ksys_write+0x116/0x250 [ 114.399632][ T2099] ? __ia32_sys_read+0xc0/0xc0 [ 114.399633][ T2099] ? rcu_is_watching+0x15/0xd0 [ 114.399635][ T2099] ? rcu_is_watching+0x15/0xd0 [ 114.399637][ T2099] do_syscall_64+0x117/0x590 [ 114.399638][ T2099] ? trace_hardirqs_off+0xd/0x30 [ 114.399641][ T2099] ? exc_page_fault+0xee/0x100 [ 114.399643][ T2099] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 114.399644][ T2099] RIP: 0033:0x7f49a42e308e [ 114.399647][ T2099] 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 [ 114.399648][ T2099] RSP: 002b:00007ffe90b17c30 EFLAGS: 00000202 ORIG_RAX: 0000000000000001 [ 114.399651][ T2099] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f49a42e308e [ 114.399652][ T2099] RDX: 0000000000000002 RSI: 000055e73d02a4b0 RDI: 0000000000000005 [ 114.399653][ T2099] RBP: 00007ffe90b17c40 R08: 0000000000000000 R09: 0000000000000000 [ 114.399654][ T2099] R10: 0000000000000000 R11: 0000000000000202 R12: 000055e73d02c5e0 [ 114.399655][ T2099] R13: 000055e73d02a470 R14: 0000000000000002 R15: 0000000000000000 [ 114.399657][ T2099] [ 119.556883][ T2123] Initializing XFRM netlink socket