[ 115.940570][ T1208] [ 115.940653][ T1208] ======================================================== [ 115.940785][ T1208] WARNING: possible irq lock inversion dependency detected [ 115.940909][ T1208] 7.1.0-rc5-virtme #1 Not tainted [ 115.940986][ T1208] -------------------------------------------------------- [ 115.941102][ T1208] sysctl/1208 just changed the state of lock: [ 115.941197][ T1208] ffffffff91b7e8b8 (acaddr_hash_lock){+.+.}-{3:3}, at: __ipv6_dev_ac_dec+0x236/0x5d0 [ 115.941341][ T1208] but this lock was taken by another, SOFTIRQ-safe lock in the past: [ 115.941456][ T1208] (&ndev->lock){++--}-{3:3} [ 115.941459][ T1208] [ 115.941459][ T1208] [ 115.941459][ T1208] and interrupts could create inverse lock ordering between them. [ 115.941459][ T1208] [ 115.941749][ T1208] [ 115.941749][ T1208] other info that might help us debug this: [ 115.941862][ T1208] Possible interrupt unsafe locking scenario: [ 115.941862][ T1208] [ 115.941985][ T1208] CPU0 CPU1 [ 115.942062][ T1208] ---- ---- [ 115.942139][ T1208] lock(acaddr_hash_lock); [ 115.942217][ T1208] local_irq_disable(); [ 115.942315][ T1208] lock(&ndev->lock); [ 115.942418][ T1208] lock(acaddr_hash_lock); [ 115.942522][ T1208] [ 115.942587][ T1208] lock(&ndev->lock); [ 115.942651][ T1208] [ 115.942651][ T1208] *** DEADLOCK *** [ 115.942651][ T1208] [ 115.942774][ T1208] 2 locks held by sysctl/1208: [ 115.942855][ T1208] #0: ff11000009c6c3e0 (sb_writers#3){.+.+}-{0:0}, at: ksys_write+0x116/0x250 [ 115.942993][ T1208] #1: ffffffff91a8c9c0 (rtnl_mutex){+.+.}-{4:4}, at: addrconf_fixup_forwarding+0x4d/0x4d0 [ 115.943149][ T1208] [ 115.943149][ T1208] the shortest dependencies between 2nd lock and 1st lock: [ 115.943295][ T1208] -> (&ndev->lock){++--}-{3:3} { [ 115.943375][ T1208] HARDIRQ-ON-W at: [ 115.943435][ T1208] __lock_acquire+0x378/0xc10 [ 115.943536][ T1208] lock_acquire.part.0+0xbc/0x260 [ 115.943637][ T1208] _raw_write_lock_bh+0x38/0x50 [ 115.943744][ T1208] addrconf_permanent_addr+0x108/0x9c0 [ 115.943865][ T1208] addrconf_notify+0x151/0xf30 [ 115.943963][ T1208] notifier_call_chain+0xb0/0x320 [ 115.944061][ T1208] __dev_notify_flags+0xde/0x280 [ 115.944163][ T1208] netif_change_flags+0xfe/0x190 [ 115.944260][ T1208] do_setlink.isra.0+0x1cc3/0x2750 [ 115.944360][ T1208] rtnl_newlink+0x8d1/0xef0 [ 115.944457][ T1208] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 115.944562][ T1208] netlink_rcv_skb+0x14e/0x3a0 [ 115.944668][ T1208] netlink_unicast+0x486/0x750 [ 115.944768][ T1208] netlink_sendmsg+0x735/0xc60 [ 115.944865][ T1208] ____sys_sendmsg+0x419/0x850 [ 115.944966][ T1208] ___sys_sendmsg+0x14e/0x1d0 [ 115.945063][ T1208] __sys_sendmsg+0x145/0x1f0 [ 115.945161][ T1208] do_syscall_64+0x117/0x590 [ 115.945258][ T1208] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 115.945378][ T1208] HARDIRQ-ON-R at: [ 115.945438][ T1208] __lock_acquire+0x378/0xc10 [ 115.945540][ T1208] lock_acquire.part.0+0xbc/0x260 [ 115.945638][ T1208] _raw_read_lock_bh+0x44/0x80 [ 115.945739][ T1208] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 115.945855][ T1208] inet6_fill_link_af+0x5c/0xe0 [ 115.945951][ T1208] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 115.946067][ T1208] rtnl_getlink+0x9c9/0xeb0 [ 115.946163][ T1208] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 115.946260][ T1208] netlink_rcv_skb+0x14e/0x3a0 [ 115.946361][ T1208] netlink_unicast+0x486/0x750 [ 115.946457][ T1208] netlink_sendmsg+0x735/0xc60 [ 115.946555][ T1208] ____sys_sendmsg+0x419/0x850 [ 115.946660][ T1208] ___sys_sendmsg+0x14e/0x1d0 [ 115.946759][ T1208] __sys_sendmsg+0x145/0x1f0 [ 115.946868][ T1208] do_syscall_64+0x117/0x590 [ 115.946965][ T1208] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 115.947084][ T1208] IN-SOFTIRQ-W at: [ 115.947142][ T1208] __lock_acquire+0x378/0xc10 [ 115.947237][ T1208] lock_acquire.part.0+0xbc/0x260 [ 115.947332][ T1208] _raw_write_lock+0x33/0x40 [ 115.947432][ T1208] addrconf_rs_timer+0xb0/0x770 [ 115.947530][ T1208] call_timer_fn+0x163/0x4f0 [ 115.947628][ T1208] __run_timers+0x68f/0xab0 [ 115.947740][ T1208] run_timer_softirq+0xf0/0x160 [ 115.947848][ T1208] handle_softirqs+0x1d8/0x940 [ 115.947954][ T1208] __irq_exit_rcu+0x103/0x1c0 [ 115.948051][ T1208] irq_exit_rcu+0xe/0x30 [ 115.948152][ T1208] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 115.948265][ T1208] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 115.948380][ T1208] pv_native_safe_halt+0xf/0x10 [ 115.948480][ T1208] default_idle+0x9/0x10 [ 115.948578][ T1208] default_idle_call+0x6e/0xb0 [ 115.948673][ T1208] cpuidle_idle_call.constprop.0+0x237/0x410 [ 115.948794][ T1208] do_idle+0xf5/0x160 [ 115.948894][ T1208] cpu_startup_entry+0x53/0x70 [ 115.948989][ T1208] start_secondary+0x204/0x2b0 [ 115.949088][ T1208] common_startup_64+0x13e/0x148 [ 115.949192][ T1208] IN-SOFTIRQ-R at: [ 115.949251][ T1208] __lock_acquire+0x378/0xc10 [ 115.949346][ T1208] lock_acquire.part.0+0xbc/0x260 [ 115.949443][ T1208] _raw_read_lock_bh+0x44/0x80 [ 115.949540][ T1208] ipv6_get_lladdr+0xa8/0x3f0 [ 115.949638][ T1208] addrconf_rs_timer+0x251/0x770 [ 115.949737][ T1208] call_timer_fn+0x163/0x4f0 [ 115.949832][ T1208] __run_timers+0x68f/0xab0 [ 115.949927][ T1208] run_timer_softirq+0xf0/0x160 [ 115.950023][ T1208] handle_softirqs+0x1d8/0x940 [ 115.950121][ T1208] __irq_exit_rcu+0x103/0x1c0 [ 115.950219][ T1208] irq_exit_rcu+0xe/0x30 [ 115.950319][ T1208] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 115.950435][ T1208] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 115.950550][ T1208] pv_native_safe_halt+0xf/0x10 [ 115.950649][ T1208] default_idle+0x9/0x10 [ 115.950747][ T1208] default_idle_call+0x6e/0xb0 [ 115.950843][ T1208] cpuidle_idle_call.constprop.0+0x237/0x410 [ 115.950957][ T1208] do_idle+0xf5/0x160 [ 115.951053][ T1208] cpu_startup_entry+0x53/0x70 [ 115.951161][ T1208] start_secondary+0x204/0x2b0 [ 115.951256][ T1208] common_startup_64+0x13e/0x148 [ 115.951352][ T1208] INITIAL USE at: [ 115.951410][ T1208] __lock_acquire+0x378/0xc10 [ 115.951506][ T1208] lock_acquire.part.0+0xbc/0x260 [ 115.951607][ T1208] _raw_write_lock_bh+0x38/0x50 [ 115.951712][ T1208] addrconf_permanent_addr+0x108/0x9c0 [ 115.951826][ T1208] addrconf_notify+0x151/0xf30 [ 115.951921][ T1208] notifier_call_chain+0xb0/0x320 [ 115.952017][ T1208] __dev_notify_flags+0xde/0x280 [ 115.952112][ T1208] netif_change_flags+0xfe/0x190 [ 115.952209][ T1208] do_setlink.isra.0+0x1cc3/0x2750 [ 115.952308][ T1208] rtnl_newlink+0x8d1/0xef0 [ 115.952404][ T1208] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 115.952499][ T1208] netlink_rcv_skb+0x14e/0x3a0 [ 115.952603][ T1208] netlink_unicast+0x486/0x750 [ 115.952700][ T1208] netlink_sendmsg+0x735/0xc60 [ 115.952798][ T1208] ____sys_sendmsg+0x419/0x850 [ 115.952895][ T1208] ___sys_sendmsg+0x14e/0x1d0 [ 115.952990][ T1208] __sys_sendmsg+0x145/0x1f0 [ 115.953086][ T1208] do_syscall_64+0x117/0x590 [ 115.953182][ T1208] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 115.953306][ T1208] INITIAL READ USE at: [ 115.953383][ T1208] __lock_acquire+0x378/0xc10 [ 115.953478][ T1208] lock_acquire.part.0+0xbc/0x260 [ 115.953592][ T1208] _raw_read_lock_bh+0x44/0x80 [ 115.953696][ T1208] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 115.953815][ T1208] inet6_fill_link_af+0x5c/0xe0 [ 115.953911][ T1208] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 115.954027][ T1208] rtnl_getlink+0x9c9/0xeb0 [ 115.954123][ T1208] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 115.954219][ T1208] netlink_rcv_skb+0x14e/0x3a0 [ 115.954321][ T1208] netlink_unicast+0x486/0x750 [ 115.954430][ T1208] netlink_sendmsg+0x735/0xc60 [ 115.954524][ T1208] ____sys_sendmsg+0x419/0x850 [ 115.954620][ T1208] ___sys_sendmsg+0x14e/0x1d0 [ 115.954722][ T1208] __sys_sendmsg+0x145/0x1f0 [ 115.954818][ T1208] do_syscall_64+0x117/0x590 [ 115.954914][ T1208] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 115.955027][ T1208] } [ 115.955071][ T1208] ... key at: [] __key.37+0x0/0x40 [ 115.955189][ T1208] ... acquired at: [ 115.955251][ T1208] __lock_acquire+0x508/0xc10 [ 115.955334][ T1208] lock_acquire.part.0+0xbc/0x260 [ 115.955411][ T1208] _raw_spin_lock+0x33/0x40 [ 115.955487][ T1208] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 115.955582][ T1208] __ipv6_dev_ac_inc+0x57e/0x930 [ 115.955656][ T1208] addrconf_join_anycast+0x1bc/0x260 [ 115.955735][ T1208] dev_forward_change+0x2be/0x850 [ 115.955811][ T1208] addrconf_fixup_forwarding+0x2af/0x4d0 [ 115.955908][ T1208] addrconf_sysctl_forward+0x209/0x2b0 [ 115.955983][ T1208] proc_sys_call_handler+0x31b/0x480 [ 115.956065][ T1208] new_sync_write+0x333/0x750 [ 115.956142][ T1208] vfs_write+0x6a4/0xc10 [ 115.956217][ T1208] ksys_write+0x116/0x250 [ 115.956294][ T1208] do_syscall_64+0x117/0x590 [ 115.956371][ T1208] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 115.956466][ T1208] [ 115.956505][ T1208] -> (acaddr_hash_lock){+.+.}-{3:3} { [ 115.956587][ T1208] HARDIRQ-ON-W at: [ 115.956643][ T1208] __lock_acquire+0x378/0xc10 [ 115.956745][ T1208] lock_acquire.part.0+0xbc/0x260 [ 115.956840][ T1208] _raw_spin_lock+0x33/0x40 [ 115.956934][ T1208] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 115.957053][ T1208] __ipv6_dev_ac_inc+0x57e/0x930 [ 115.957148][ T1208] addrconf_join_anycast+0x1bc/0x260 [ 115.957251][ T1208] dev_forward_change+0x2be/0x850 [ 115.957344][ T1208] addrconf_fixup_forwarding+0x2af/0x4d0 [ 115.957458][ T1208] addrconf_sysctl_forward+0x209/0x2b0 [ 115.957555][ T1208] proc_sys_call_handler+0x31b/0x480 [ 115.957655][ T1208] new_sync_write+0x333/0x750 [ 115.957756][ T1208] vfs_write+0x6a4/0xc10 [ 115.957852][ T1208] ksys_write+0x116/0x250 [ 115.957947][ T1208] do_syscall_64+0x117/0x590 [ 115.958044][ T1208] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 115.958159][ T1208] SOFTIRQ-ON-W at: [ 115.958216][ T1208] __lock_acquire+0x378/0xc10 [ 115.958315][ T1208] lock_acquire.part.0+0xbc/0x260 [ 115.958410][ T1208] _raw_spin_lock+0x33/0x40 [ 115.958508][ T1208] __ipv6_dev_ac_dec+0x236/0x5d0 [ 115.958604][ T1208] addrconf_leave_anycast+0x1bc/0x260 [ 115.958744][ T1208] dev_forward_change+0x3b3/0x850 [ 115.958838][ T1208] addrconf_fixup_forwarding+0x2af/0x4d0 [ 115.958952][ T1208] addrconf_sysctl_forward+0x209/0x2b0 [ 115.959088][ T1208] proc_sys_call_handler+0x31b/0x480 [ 115.959184][ T1208] new_sync_write+0x333/0x750 [ 115.959287][ T1208] vfs_write+0x6a4/0xc10 [ 115.959427][ T1208] ksys_write+0x116/0x250 [ 115.959520][ T1208] do_syscall_64+0x117/0x590 [ 115.959616][ T1208] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 115.959775][ T1208] INITIAL USE at: [ 115.959832][ T1208] __lock_acquire+0x378/0xc10 [ 115.959928][ T1208] lock_acquire.part.0+0xbc/0x260 [ 115.960022][ T1208] _raw_spin_lock+0x33/0x40 [ 115.960118][ T1208] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 115.960230][ T1208] __ipv6_dev_ac_inc+0x57e/0x930 [ 115.960323][ T1208] addrconf_join_anycast+0x1bc/0x260 [ 115.960463][ T1208] dev_forward_change+0x2be/0x850 [ 115.960558][ T1208] addrconf_fixup_forwarding+0x2af/0x4d0 [ 115.960676][ T1208] addrconf_sysctl_forward+0x209/0x2b0 [ 115.960814][ T1208] proc_sys_call_handler+0x31b/0x480 [ 115.960922][ T1208] new_sync_write+0x333/0x750 [ 115.961018][ T1208] vfs_write+0x6a4/0xc10 [ 115.961154][ T1208] ksys_write+0x116/0x250 [ 115.961248][ T1208] do_syscall_64+0x117/0x590 [ 115.961342][ T1208] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 115.961497][ T1208] } [ 115.961535][ T1208] ... key at: [] acaddr_hash_lock+0x18/0x45a0 [ 115.961654][ T1208] ... acquired at: [ 115.961719][ T1208] mark_lock+0x1d7/0xa00 [ 115.961834][ T1208] mark_usage+0x105/0x170 [ 115.961909][ T1208] __lock_acquire+0x378/0xc10 [ 115.961984][ T1208] lock_acquire.part.0+0xbc/0x260 [ 115.962060][ T1208] _raw_spin_lock+0x33/0x40 [ 115.962180][ T1208] __ipv6_dev_ac_dec+0x236/0x5d0 [ 115.962256][ T1208] addrconf_leave_anycast+0x1bc/0x260 [ 115.962333][ T1208] dev_forward_change+0x3b3/0x850 [ 115.962409][ T1208] addrconf_fixup_forwarding+0x2af/0x4d0 [ 115.962544][ T1208] addrconf_sysctl_forward+0x209/0x2b0 [ 115.962625][ T1208] proc_sys_call_handler+0x31b/0x480 [ 115.962702][ T1208] new_sync_write+0x333/0x750 [ 115.962781][ T1208] vfs_write+0x6a4/0xc10 [ 115.962903][ T1208] ksys_write+0x116/0x250 [ 115.962979][ T1208] do_syscall_64+0x117/0x590 [ 115.963054][ T1208] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 115.963187][ T1208] [ 115.963230][ T1208] [ 115.963230][ T1208] stack backtrace: [ 115.963326][ T1208] CPU: 0 UID: 0 PID: 1208 Comm: sysctl Not tainted 7.1.0-rc5-virtme #1 PREEMPT(full) [ 115.963329][ T1208] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 115.963331][ T1208] Call Trace: [ 115.963333][ T1208] [ 115.963334][ T1208] dump_stack_lvl+0x6f/0xa0 [ 115.963339][ T1208] print_irq_inversion_bug.part.0.cold+0xe6/0x143 [ 115.963342][ T1208] mark_lock_irq+0x989/0x9c0 [ 115.963345][ T1208] mark_lock+0x1d7/0xa00 [ 115.963346][ T1208] mark_usage+0x105/0x170 [ 115.963348][ T1208] __lock_acquire+0x378/0xc10 [ 115.963350][ T1208] lock_acquire.part.0+0xbc/0x260 [ 115.963351][ T1208] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 115.963353][ T1208] ? rcu_is_watching+0x15/0xd0 [ 115.963356][ T1208] ? do_raw_read_unlock+0x70/0x70 [ 115.963358][ T1208] ? lock_acquire+0x134/0x160 [ 115.963360][ T1208] _raw_spin_lock+0x33/0x40 [ 115.963362][ T1208] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 115.963363][ T1208] __ipv6_dev_ac_dec+0x236/0x5d0 [ 115.963365][ T1208] addrconf_leave_anycast+0x1bc/0x260 [ 115.963366][ T1208] ? find_held_lock+0x2b/0x80 [ 115.963369][ T1208] ? __ipv6_isatap_ifid+0x210/0x210 [ 115.963371][ T1208] ? mark_held_locks+0x40/0x70 [ 115.963372][ T1208] ? lockdep_hardirqs_on+0x8c/0x130 [ 115.963374][ T1208] dev_forward_change+0x3b3/0x850 [ 115.963376][ T1208] ? addrconf_fixup_forwarding+0x4d/0x4d0 [ 115.963378][ T1208] ? addrconf_sysctl_proxy_ndp+0x2f0/0x2f0 [ 115.963381][ T1208] addrconf_fixup_forwarding+0x2af/0x4d0 [ 115.963383][ T1208] addrconf_sysctl_forward+0x209/0x2b0 [ 115.963385][ T1208] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 115.963387][ T1208] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 115.963389][ T1208] ? __kvmalloc_node_noprof+0x305/0x8a0 [ 115.963392][ T1208] ? proc_sys_call_handler+0x25d/0x480 [ 115.963395][ T1208] proc_sys_call_handler+0x31b/0x480 [ 115.963397][ T1208] ? proc_sys_lookup+0x3d0/0x3d0 [ 115.963399][ T1208] ? rcu_read_unlock+0x1b/0x70 [ 115.963401][ T1208] ? do_raw_spin_unlock+0x59/0x250 [ 115.963402][ T1208] ? rcu_lockdep_current_cpu_online+0x39/0x1b0 [ 115.963404][ T1208] ? rcu_read_lock_any_held+0x3c/0x90 [ 115.963406][ T1208] ? proc_sys_call_handler+0x480/0x480 [ 115.963408][ T1208] new_sync_write+0x333/0x750 [ 115.963409][ T1208] ? __lock_acquire+0x508/0xc10 [ 115.963411][ T1208] ? new_sync_read+0x740/0x740 [ 115.963412][ T1208] ? lock_acquire.part.0+0xbc/0x260 [ 115.963414][ T1208] ? ksys_write+0x116/0x250 [ 115.963416][ T1208] vfs_write+0x6a4/0xc10 [ 115.963418][ T1208] ksys_write+0x116/0x250 [ 115.963419][ T1208] ? __ia32_sys_read+0xc0/0xc0 [ 115.963421][ T1208] ? rcu_is_watching+0x15/0xd0 [ 115.963422][ T1208] ? rcu_is_watching+0x15/0xd0 [ 115.963424][ T1208] do_syscall_64+0x117/0x590 [ 115.963425][ T1208] ? trace_hardirqs_off+0xd/0x30 [ 115.963428][ T1208] ? exc_page_fault+0xee/0x100 [ 115.963430][ T1208] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 115.963431][ T1208] RIP: 0033:0x7fe99f50708e [ 115.963434][ T1208] 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 [ 115.963436][ T1208] RSP: 002b:00007ffde1d63390 EFLAGS: 00000202 ORIG_RAX: 0000000000000001 [ 115.963438][ T1208] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007fe99f50708e [ 115.963440][ T1208] RDX: 0000000000000002 RSI: 000055712ef5d4b0 RDI: 0000000000000005 [ 115.963441][ T1208] RBP: 00007ffde1d633a0 R08: 0000000000000000 R09: 0000000000000000 [ 115.963441][ T1208] R10: 0000000000000000 R11: 0000000000000202 R12: 000055712ef5f5e0 [ 115.963442][ T1208] R13: 000055712ef5d470 R14: 0000000000000002 R15: 0000000000000000 [ 115.963445][ T1208]