[ 173.829595][ T1786] [ 173.829685][ T1786] ======================================================== [ 173.829812][ T1786] WARNING: possible irq lock inversion dependency detected [ 173.829928][ T1786] 7.1.0-rc5-virtme #1 Not tainted [ 173.830009][ T1786] -------------------------------------------------------- [ 173.830127][ T1786] sysctl/1786 just changed the state of lock: [ 173.830224][ T1786] ffffffff88b7e8b8 (acaddr_hash_lock){+.+.}-{3:3}, at: __ipv6_dev_ac_dec+0x236/0x5d0 [ 173.830377][ T1786] but this lock was taken by another, SOFTIRQ-safe lock in the past: [ 173.830495][ T1786] (&ndev->lock){++--}-{3:3} [ 173.830497][ T1786] [ 173.830497][ T1786] [ 173.830497][ T1786] and interrupts could create inverse lock ordering between them. [ 173.830497][ T1786] [ 173.830789][ T1786] [ 173.830789][ T1786] other info that might help us debug this: [ 173.830904][ T1786] Possible interrupt unsafe locking scenario: [ 173.830904][ T1786] [ 173.831020][ T1786] CPU0 CPU1 [ 173.831101][ T1786] ---- ---- [ 173.831185][ T1786] lock(acaddr_hash_lock); [ 173.831271][ T1786] local_irq_disable(); [ 173.831374][ T1786] lock(&ndev->lock); [ 173.831475][ T1786] lock(acaddr_hash_lock); [ 173.831576][ T1786] [ 173.831636][ T1786] lock(&ndev->lock); [ 173.831696][ T1786] [ 173.831696][ T1786] *** DEADLOCK *** [ 173.831696][ T1786] [ 173.831811][ T1786] 2 locks held by sysctl/1786: [ 173.831889][ T1786] #0: ff1100000a09c3e0 (sb_writers#3){.+.+}-{0:0}, at: ksys_write+0x116/0x250 [ 173.832033][ T1786] #1: ffffffff88a8c9c0 (rtnl_mutex){+.+.}-{4:4}, at: addrconf_fixup_forwarding+0x4d/0x4d0 [ 173.832192][ T1786] [ 173.832192][ T1786] the shortest dependencies between 2nd lock and 1st lock: [ 173.832333][ T1786] -> (&ndev->lock){++--}-{3:3} { [ 173.832415][ T1786] HARDIRQ-ON-W at: [ 173.832477][ T1786] __lock_acquire+0x378/0xc10 [ 173.832579][ T1786] lock_acquire.part.0+0xbc/0x260 [ 173.832679][ T1786] _raw_write_lock_bh+0x38/0x50 [ 173.832777][ T1786] addrconf_permanent_addr+0x108/0x9c0 [ 173.832894][ T1786] addrconf_notify+0x151/0xf30 [ 173.832993][ T1786] notifier_call_chain+0xb0/0x320 [ 173.833092][ T1786] __dev_notify_flags+0xde/0x280 [ 173.833194][ T1786] netif_change_flags+0xfe/0x190 [ 173.833295][ T1786] do_setlink.isra.0+0x1cc3/0x2750 [ 173.833394][ T1786] rtnl_newlink+0x8d1/0xef0 [ 173.833493][ T1786] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 173.833591][ T1786] netlink_rcv_skb+0x14e/0x3a0 [ 173.833692][ T1786] netlink_unicast+0x486/0x750 [ 173.833790][ T1786] netlink_sendmsg+0x735/0xc60 [ 173.833887][ T1786] ____sys_sendmsg+0x419/0x850 [ 173.833987][ T1786] ___sys_sendmsg+0x14e/0x1d0 [ 173.834085][ T1786] __sys_sendmsg+0x145/0x1f0 [ 173.834183][ T1786] do_syscall_64+0x117/0x590 [ 173.834292][ T1786] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 173.834410][ T1786] HARDIRQ-ON-R at: [ 173.834470][ T1786] __lock_acquire+0x378/0xc10 [ 173.834576][ T1786] lock_acquire.part.0+0xbc/0x260 [ 173.834674][ T1786] _raw_read_lock_bh+0x44/0x80 [ 173.834774][ T1786] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 173.834892][ T1786] inet6_fill_link_af+0x5c/0xe0 [ 173.834991][ T1786] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 173.835108][ T1786] rtnl_getlink+0x9c9/0xeb0 [ 173.835206][ T1786] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 173.835308][ T1786] netlink_rcv_skb+0x14e/0x3a0 [ 173.835405][ T1786] netlink_unicast+0x486/0x750 [ 173.835501][ T1786] netlink_sendmsg+0x735/0xc60 [ 173.835599][ T1786] ____sys_sendmsg+0x419/0x850 [ 173.835697][ T1786] ___sys_sendmsg+0x14e/0x1d0 [ 173.835796][ T1786] __sys_sendmsg+0x145/0x1f0 [ 173.835890][ T1786] do_syscall_64+0x117/0x590 [ 173.835988][ T1786] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 173.836105][ T1786] IN-SOFTIRQ-W at: [ 173.836164][ T1786] __lock_acquire+0x378/0xc10 [ 173.836266][ T1786] lock_acquire.part.0+0xbc/0x260 [ 173.836365][ T1786] _raw_write_lock+0x33/0x40 [ 173.836462][ T1786] addrconf_rs_timer+0xb0/0x770 [ 173.836560][ T1786] call_timer_fn+0x163/0x4f0 [ 173.836661][ T1786] __run_timers+0x68f/0xab0 [ 173.836761][ T1786] run_timer_softirq+0xf0/0x160 [ 173.836860][ T1786] handle_softirqs+0x1d8/0x940 [ 173.836959][ T1786] __irq_exit_rcu+0x103/0x1c0 [ 173.837056][ T1786] irq_exit_rcu+0xe/0x30 [ 173.837157][ T1786] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 173.837281][ T1786] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 173.837398][ T1786] pv_native_safe_halt+0xf/0x10 [ 173.837498][ T1786] default_idle+0x9/0x10 [ 173.837597][ T1786] default_idle_call+0x6e/0xb0 [ 173.837696][ T1786] cpuidle_idle_call.constprop.0+0x237/0x410 [ 173.837814][ T1786] do_idle+0xf5/0x160 [ 173.837911][ T1786] cpu_startup_entry+0x53/0x70 [ 173.838010][ T1786] start_secondary+0x204/0x2b0 [ 173.838107][ T1786] common_startup_64+0x13e/0x148 [ 173.838206][ T1786] IN-SOFTIRQ-R at: [ 173.838271][ T1786] __lock_acquire+0x378/0xc10 [ 173.838369][ T1786] lock_acquire.part.0+0xbc/0x260 [ 173.838469][ T1786] _raw_read_lock_bh+0x44/0x80 [ 173.838567][ T1786] ipv6_get_lladdr+0xa8/0x3f0 [ 173.838665][ T1786] addrconf_rs_timer+0x251/0x770 [ 173.838763][ T1786] call_timer_fn+0x163/0x4f0 [ 173.838861][ T1786] __run_timers+0x68f/0xab0 [ 173.839004][ T1786] run_timer_softirq+0xf0/0x160 [ 173.839102][ T1786] handle_softirqs+0x1d8/0x940 [ 173.839200][ T1786] __irq_exit_rcu+0x103/0x1c0 [ 173.839343][ T1786] irq_exit_rcu+0xe/0x30 [ 173.839439][ T1786] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 173.839555][ T1786] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 173.839716][ T1786] pv_native_safe_halt+0xf/0x10 [ 173.839813][ T1786] default_idle+0x9/0x10 [ 173.839910][ T1786] default_idle_call+0x6e/0xb0 [ 173.840007][ T1786] cpuidle_idle_call.constprop.0+0x237/0x410 [ 173.840124][ T1786] do_idle+0xf5/0x160 [ 173.840225][ T1786] cpu_startup_entry+0x53/0x70 [ 173.840368][ T1786] start_secondary+0x204/0x2b0 [ 173.840467][ T1786] common_startup_64+0x13e/0x148 [ 173.840565][ T1786] INITIAL USE at: [ 173.840665][ T1786] __lock_acquire+0x378/0xc10 [ 173.840764][ T1786] lock_acquire.part.0+0xbc/0x260 [ 173.840863][ T1786] _raw_write_lock_bh+0x38/0x50 [ 173.840963][ T1786] addrconf_permanent_addr+0x108/0x9c0 [ 173.841122][ T1786] addrconf_notify+0x151/0xf30 [ 173.841220][ T1786] notifier_call_chain+0xb0/0x320 [ 173.841322][ T1786] __dev_notify_flags+0xde/0x280 [ 173.841461][ T1786] netif_change_flags+0xfe/0x190 [ 173.841556][ T1786] do_setlink.isra.0+0x1cc3/0x2750 [ 173.841652][ T1786] rtnl_newlink+0x8d1/0xef0 [ 173.841791][ T1786] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 173.841889][ T1786] netlink_rcv_skb+0x14e/0x3a0 [ 173.841988][ T1786] netlink_unicast+0x486/0x750 [ 173.842126][ T1786] netlink_sendmsg+0x735/0xc60 [ 173.842225][ T1786] ____sys_sendmsg+0x419/0x850 [ 173.842329][ T1786] ___sys_sendmsg+0x14e/0x1d0 [ 173.842466][ T1786] __sys_sendmsg+0x145/0x1f0 [ 173.842562][ T1786] do_syscall_64+0x117/0x590 [ 173.842662][ T1786] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 173.842820][ T1786] INITIAL READ USE at: [ 173.842898][ T1786] __lock_acquire+0x378/0xc10 [ 173.842996][ T1786] lock_acquire.part.0+0xbc/0x260 [ 173.843153][ T1786] _raw_read_lock_bh+0x44/0x80 [ 173.843258][ T1786] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 173.843374][ T1786] inet6_fill_link_af+0x5c/0xe0 [ 173.843512][ T1786] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 173.843628][ T1786] rtnl_getlink+0x9c9/0xeb0 [ 173.843724][ T1786] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 173.843865][ T1786] netlink_rcv_skb+0x14e/0x3a0 [ 173.843963][ T1786] netlink_unicast+0x486/0x750 [ 173.844061][ T1786] netlink_sendmsg+0x735/0xc60 [ 173.844158][ T1786] ____sys_sendmsg+0x419/0x850 [ 173.844300][ T1786] ___sys_sendmsg+0x14e/0x1d0 [ 173.844400][ T1786] __sys_sendmsg+0x145/0x1f0 [ 173.844495][ T1786] do_syscall_64+0x117/0x590 [ 173.844634][ T1786] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 173.844751][ T1786] } [ 173.844791][ T1786] ... key at: [] __key.37+0x0/0x40 [ 173.844949][ T1786] ... acquired at: [ 173.845011][ T1786] __lock_acquire+0x508/0xc10 [ 173.845090][ T1786] lock_acquire.part.0+0xbc/0x260 [ 173.845169][ T1786] _raw_spin_lock+0x33/0x40 [ 173.845294][ T1786] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 173.845390][ T1786] __ipv6_dev_ac_inc+0x57e/0x930 [ 173.845466][ T1786] addrconf_join_anycast+0x1bc/0x260 [ 173.845542][ T1786] __ipv6_ifa_notify+0x75b/0xad0 [ 173.845661][ T1786] addrconf_dad_completed+0x14b/0xe10 [ 173.845739][ T1786] addrconf_dad_work+0x3c1/0x930 [ 173.845816][ T1786] process_one_work+0xdf8/0x1410 [ 173.845895][ T1786] worker_thread+0x4f1/0xd60 [ 173.845974][ T1786] kthread+0x367/0x460 [ 173.846033][ T1786] ret_from_fork+0x474/0x6b0 [ 173.846113][ T1786] ret_from_fork_asm+0x11/0x20 [ 173.846194][ T1786] [ 173.846239][ T1786] -> (acaddr_hash_lock){+.+.}-{3:3} { [ 173.846321][ T1786] HARDIRQ-ON-W at: [ 173.846379][ T1786] __lock_acquire+0x378/0xc10 [ 173.846476][ T1786] lock_acquire.part.0+0xbc/0x260 [ 173.846573][ T1786] _raw_spin_lock+0x33/0x40 [ 173.846712][ T1786] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 173.846829][ T1786] __ipv6_dev_ac_inc+0x57e/0x930 [ 173.846925][ T1786] addrconf_join_anycast+0x1bc/0x260 [ 173.847066][ T1786] __ipv6_ifa_notify+0x75b/0xad0 [ 173.847164][ T1786] addrconf_dad_completed+0x14b/0xe10 [ 173.847269][ T1786] addrconf_dad_work+0x3c1/0x930 [ 173.847411][ T1786] process_one_work+0xdf8/0x1410 [ 173.847507][ T1786] worker_thread+0x4f1/0xd60 [ 173.847606][ T1786] kthread+0x367/0x460 [ 173.847725][ T1786] ret_from_fork+0x474/0x6b0 [ 173.847821][ T1786] ret_from_fork_asm+0x11/0x20 [ 173.847922][ T1786] SOFTIRQ-ON-W at: [ 173.847982][ T1786] __lock_acquire+0x378/0xc10 [ 173.848122][ T1786] lock_acquire.part.0+0xbc/0x260 [ 173.848220][ T1786] _raw_spin_lock+0x33/0x40 [ 173.848323][ T1786] __ipv6_dev_ac_dec+0x236/0x5d0 [ 173.848461][ T1786] addrconf_leave_anycast+0x1bc/0x260 [ 173.848560][ T1786] dev_forward_change+0x3b3/0x850 [ 173.848657][ T1786] addrconf_fixup_forwarding+0x2af/0x4d0 [ 173.848815][ T1786] addrconf_sysctl_forward+0x209/0x2b0 [ 173.848912][ T1786] proc_sys_call_handler+0x31b/0x480 [ 173.849012][ T1786] new_sync_write+0x333/0x750 [ 173.849153][ T1786] vfs_write+0x6a4/0xc10 [ 173.849258][ T1786] ksys_write+0x116/0x250 [ 173.849357][ T1786] do_syscall_64+0x117/0x590 [ 173.849497][ T1786] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 173.849614][ T1786] INITIAL USE at: [ 173.849672][ T1786] __lock_acquire+0x378/0xc10 [ 173.849769][ T1786] lock_acquire.part.0+0xbc/0x260 [ 173.849909][ T1786] _raw_spin_lock+0x33/0x40 [ 173.850007][ T1786] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 173.850124][ T1786] __ipv6_dev_ac_inc+0x57e/0x930 [ 173.850269][ T1786] addrconf_join_anycast+0x1bc/0x260 [ 173.850366][ T1786] __ipv6_ifa_notify+0x75b/0xad0 [ 173.850464][ T1786] addrconf_dad_completed+0x14b/0xe10 [ 173.850603][ T1786] addrconf_dad_work+0x3c1/0x930 [ 173.850701][ T1786] process_one_work+0xdf8/0x1410 [ 173.850799][ T1786] worker_thread+0x4f1/0xd60 [ 173.850939][ T1786] kthread+0x367/0x460 [ 173.851020][ T1786] ret_from_fork+0x474/0x6b0 [ 173.851118][ T1786] ret_from_fork_asm+0x11/0x20 [ 173.851215][ T1786] } [ 173.851299][ T1786] ... key at: [] acaddr_hash_lock+0x18/0x45a0 [ 173.851417][ T1786] ... acquired at: [ 173.851474][ T1786] mark_lock+0x1d7/0xa00 [ 173.851552][ T1786] mark_usage+0x105/0x170 [ 173.851671][ T1786] __lock_acquire+0x378/0xc10 [ 173.851748][ T1786] lock_acquire.part.0+0xbc/0x260 [ 173.851826][ T1786] _raw_spin_lock+0x33/0x40 [ 173.851904][ T1786] __ipv6_dev_ac_dec+0x236/0x5d0 [ 173.852022][ T1786] addrconf_leave_anycast+0x1bc/0x260 [ 173.852099][ T1786] dev_forward_change+0x3b3/0x850 [ 173.852174][ T1786] addrconf_fixup_forwarding+0x2af/0x4d0 [ 173.852276][ T1786] addrconf_sysctl_forward+0x209/0x2b0 [ 173.852394][ T1786] proc_sys_call_handler+0x31b/0x480 [ 173.852473][ T1786] new_sync_write+0x333/0x750 [ 173.852550][ T1786] vfs_write+0x6a4/0xc10 [ 173.852626][ T1786] ksys_write+0x116/0x250 [ 173.852746][ T1786] do_syscall_64+0x117/0x590 [ 173.852824][ T1786] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 173.852921][ T1786] [ 173.852960][ T1786] [ 173.852960][ T1786] stack backtrace: [ 173.853098][ T1786] CPU: 2 UID: 0 PID: 1786 Comm: sysctl Not tainted 7.1.0-rc5-virtme #1 PREEMPT(full) [ 173.853101][ T1786] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 173.853103][ T1786] Call Trace: [ 173.853105][ T1786] [ 173.853106][ T1786] dump_stack_lvl+0x6f/0xa0 [ 173.853110][ T1786] print_irq_inversion_bug.part.0.cold+0xe6/0x143 [ 173.853114][ T1786] mark_lock_irq+0x989/0x9c0 [ 173.853116][ T1786] mark_lock+0x1d7/0xa00 [ 173.853118][ T1786] mark_usage+0x105/0x170 [ 173.853120][ T1786] __lock_acquire+0x378/0xc10 [ 173.853122][ T1786] lock_acquire.part.0+0xbc/0x260 [ 173.853123][ T1786] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 173.853125][ T1786] ? rcu_is_watching+0x15/0xd0 [ 173.853127][ T1786] ? do_raw_read_unlock+0x70/0x70 [ 173.853129][ T1786] ? lock_acquire+0x134/0x160 [ 173.853131][ T1786] _raw_spin_lock+0x33/0x40 [ 173.853133][ T1786] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 173.853134][ T1786] __ipv6_dev_ac_dec+0x236/0x5d0 [ 173.853136][ T1786] addrconf_leave_anycast+0x1bc/0x260 [ 173.853138][ T1786] ? find_held_lock+0x2b/0x80 [ 173.853141][ T1786] ? __ipv6_isatap_ifid+0x210/0x210 [ 173.853143][ T1786] ? mark_held_locks+0x40/0x70 [ 173.853144][ T1786] ? lockdep_hardirqs_on+0x8c/0x130 [ 173.853146][ T1786] dev_forward_change+0x3b3/0x850 [ 173.853148][ T1786] ? addrconf_fixup_forwarding+0x4d/0x4d0 [ 173.853150][ T1786] ? addrconf_sysctl_proxy_ndp+0x2f0/0x2f0 [ 173.853153][ T1786] addrconf_fixup_forwarding+0x2af/0x4d0 [ 173.853155][ T1786] addrconf_sysctl_forward+0x209/0x2b0 [ 173.853157][ T1786] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 173.853160][ T1786] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 173.853162][ T1786] ? __kvmalloc_node_noprof+0x305/0x8a0 [ 173.853165][ T1786] ? proc_sys_call_handler+0x25d/0x480 [ 173.853167][ T1786] proc_sys_call_handler+0x31b/0x480 [ 173.853169][ T1786] ? proc_sys_lookup+0x3d0/0x3d0 [ 173.853171][ T1786] ? rcu_read_unlock+0x1b/0x70 [ 173.853174][ T1786] ? do_raw_spin_unlock+0x59/0x250 [ 173.853175][ T1786] ? rcu_lockdep_current_cpu_online+0x39/0x1b0 [ 173.853177][ T1786] ? rcu_read_lock_any_held+0x3c/0x90 [ 173.853179][ T1786] ? proc_sys_call_handler+0x480/0x480 [ 173.853181][ T1786] new_sync_write+0x333/0x750 [ 173.853183][ T1786] ? __lock_acquire+0x508/0xc10 [ 173.853184][ T1786] ? new_sync_read+0x740/0x740 [ 173.853186][ T1786] ? lock_acquire.part.0+0xbc/0x260 [ 173.853188][ T1786] ? ksys_write+0x116/0x250 [ 173.853190][ T1786] vfs_write+0x6a4/0xc10 [ 173.853192][ T1786] ksys_write+0x116/0x250 [ 173.853193][ T1786] ? __ia32_sys_read+0xc0/0xc0 [ 173.853195][ T1786] ? rcu_is_watching+0x15/0xd0 [ 173.853196][ T1786] ? rcu_is_watching+0x15/0xd0 [ 173.853198][ T1786] do_syscall_64+0x117/0x590 [ 173.853199][ T1786] ? trace_hardirqs_off+0xd/0x30 [ 173.853202][ T1786] ? exc_page_fault+0xee/0x100 [ 173.853204][ T1786] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 173.853206][ T1786] RIP: 0033:0x7ff7cac4608e [ 173.853208][ T1786] 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 [ 173.853210][ T1786] RSP: 002b:00007ffcd19c8370 EFLAGS: 00000202 ORIG_RAX: 0000000000000001 [ 173.853213][ T1786] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007ff7cac4608e [ 173.853214][ T1786] RDX: 0000000000000002 RSI: 000055760b9984b0 RDI: 0000000000000005 [ 173.853215][ T1786] RBP: 00007ffcd19c8380 R08: 0000000000000000 R09: 0000000000000000 [ 173.853216][ T1786] R10: 0000000000000000 R11: 0000000000000202 R12: 000055760b99a5e0 [ 173.853217][ T1786] R13: 000055760b998470 R14: 0000000000000002 R15: 0000000000000000 [ 173.853219][ T1786]