[ 430.790683][ T2399] ip (2399) used greatest stack depth: 23944 bytes left [ 572.473687][ T3543] [ 572.473781][ T3543] ======================================================== [ 572.473915][ T3543] WARNING: possible irq lock inversion dependency detected [ 572.474040][ T3543] 7.1.0-rc5-virtme #1 Not tainted [ 572.474123][ T3543] -------------------------------------------------------- [ 572.474243][ T3543] sysctl/3543 just changed the state of lock: [ 572.474346][ T3543] ffffffffacb7e8b8 (acaddr_hash_lock){+.+.}-{3:3}, at: __ipv6_dev_ac_dec+0x236/0x5d0 [ 572.474505][ T3543] but this lock was taken by another, SOFTIRQ-safe lock in the past: [ 572.474626][ T3543] (&ndev->lock){++--}-{3:3} [ 572.474629][ T3543] [ 572.474629][ T3543] [ 572.474629][ T3543] and interrupts could create inverse lock ordering between them. [ 572.474629][ T3543] [ 572.474934][ T3543] [ 572.474934][ T3543] other info that might help us debug this: [ 572.475051][ T3543] Possible interrupt unsafe locking scenario: [ 572.475051][ T3543] [ 572.475176][ T3543] CPU0 CPU1 [ 572.475257][ T3543] ---- ---- [ 572.475339][ T3543] lock(acaddr_hash_lock); [ 572.475424][ T3543] local_irq_disable(); [ 572.475522][ T3543] lock(&ndev->lock); [ 572.475626][ T3543] lock(acaddr_hash_lock); [ 572.475734][ T3543] [ 572.475796][ T3543] lock(&ndev->lock); [ 572.475858][ T3543] [ 572.475858][ T3543] *** DEADLOCK *** [ 572.475858][ T3543] [ 572.475978][ T3543] 2 locks held by sysctl/3543: [ 572.476063][ T3543] #0: ff11000009cbc3e0 (sb_writers#3){.+.+}-{0:0}, at: ksys_write+0x116/0x250 [ 572.476212][ T3543] #1: ffffffffaca8c9c0 (rtnl_mutex){+.+.}-{4:4}, at: addrconf_fixup_forwarding+0x4d/0x4d0 [ 572.476383][ T3543] [ 572.476383][ T3543] the shortest dependencies between 2nd lock and 1st lock: [ 572.476526][ T3543] -> (&ndev->lock){++--}-{3:3} { [ 572.476619][ T3543] HARDIRQ-ON-W at: [ 572.476686][ T3543] __lock_acquire+0x378/0xc10 [ 572.476798][ T3543] lock_acquire.part.0+0xbc/0x260 [ 572.476903][ T3543] _raw_write_lock_bh+0x38/0x50 [ 572.477009][ T3543] addrconf_permanent_addr+0x108/0x9c0 [ 572.477130][ T3543] addrconf_notify+0x151/0xf30 [ 572.477232][ T3543] notifier_call_chain+0xb0/0x320 [ 572.477335][ T3543] __dev_notify_flags+0xde/0x280 [ 572.477442][ T3543] netif_change_flags+0xfe/0x190 [ 572.477543][ T3543] do_setlink.isra.0+0x1cc3/0x2750 [ 572.477646][ T3543] rtnl_newlink+0x8d1/0xef0 [ 572.477750][ T3543] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 572.477851][ T3543] netlink_rcv_skb+0x14e/0x3a0 [ 572.477955][ T3543] netlink_unicast+0x486/0x750 [ 572.478060][ T3543] netlink_sendmsg+0x735/0xc60 [ 572.478162][ T3543] ____sys_sendmsg+0x419/0x850 [ 572.478265][ T3543] ___sys_sendmsg+0x14e/0x1d0 [ 572.478367][ T3543] __sys_sendmsg+0x145/0x1f0 [ 572.478474][ T3543] do_syscall_64+0x117/0x590 [ 572.478579][ T3543] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 572.478702][ T3543] HARDIRQ-ON-R at: [ 572.478770][ T3543] __lock_acquire+0x378/0xc10 [ 572.478875][ T3543] lock_acquire.part.0+0xbc/0x260 [ 572.478975][ T3543] _raw_read_lock_bh+0x44/0x80 [ 572.479082][ T3543] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 572.479205][ T3543] inet6_fill_link_af+0x5c/0xe0 [ 572.479308][ T3543] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 572.479435][ T3543] rtnl_getlink+0x9c9/0xeb0 [ 572.479559][ T3543] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 572.479668][ T3543] netlink_rcv_skb+0x14e/0x3a0 [ 572.479780][ T3543] netlink_unicast+0x486/0x750 [ 572.479885][ T3543] netlink_sendmsg+0x735/0xc60 [ 572.479986][ T3543] ____sys_sendmsg+0x419/0x850 [ 572.480088][ T3543] ___sys_sendmsg+0x14e/0x1d0 [ 572.480188][ T3543] __sys_sendmsg+0x145/0x1f0 [ 572.480287][ T3543] do_syscall_64+0x117/0x590 [ 572.480389][ T3543] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 572.480511][ T3543] IN-SOFTIRQ-W at: [ 572.480572][ T3543] __lock_acquire+0x378/0xc10 [ 572.480673][ T3543] lock_acquire.part.0+0xbc/0x260 [ 572.480776][ T3543] _raw_write_lock+0x33/0x40 [ 572.480878][ T3543] addrconf_rs_timer+0xb0/0x770 [ 572.480979][ T3543] call_timer_fn+0x163/0x4f0 [ 572.481081][ T3543] __run_timers+0x68f/0xab0 [ 572.481183][ T3543] run_timer_softirq+0xf0/0x160 [ 572.481283][ T3543] handle_softirqs+0x1d8/0x940 [ 572.481387][ T3543] __irq_exit_rcu+0x103/0x1c0 [ 572.481488][ T3543] irq_exit_rcu+0xe/0x30 [ 572.481588][ T3543] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 572.481710][ T3543] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 572.481837][ T3543] pv_native_safe_halt+0xf/0x10 [ 572.481938][ T3543] default_idle+0x9/0x10 [ 572.482040][ T3543] default_idle_call+0x6e/0xb0 [ 572.482141][ T3543] cpuidle_idle_call.constprop.0+0x237/0x410 [ 572.482261][ T3543] do_idle+0xf5/0x160 [ 572.482364][ T3543] cpu_startup_entry+0x53/0x70 [ 572.482467][ T3543] start_secondary+0x204/0x2b0 [ 572.482567][ T3543] common_startup_64+0x13e/0x148 [ 572.482669][ T3543] IN-SOFTIRQ-R at: [ 572.482734][ T3543] __lock_acquire+0x378/0xc10 [ 572.482836][ T3543] lock_acquire.part.0+0xbc/0x260 [ 572.482936][ T3543] _raw_read_lock_bh+0x44/0x80 [ 572.483038][ T3543] ipv6_get_lladdr+0xa8/0x3f0 [ 572.483139][ T3543] addrconf_rs_timer+0x251/0x770 [ 572.483239][ T3543] call_timer_fn+0x163/0x4f0 [ 572.483340][ T3543] __run_timers+0x68f/0xab0 [ 572.483449][ T3543] run_timer_softirq+0xf0/0x160 [ 572.483547][ T3543] handle_softirqs+0x1d8/0x940 [ 572.483645][ T3543] __irq_exit_rcu+0x103/0x1c0 [ 572.483750][ T3543] irq_exit_rcu+0xe/0x30 [ 572.483850][ T3543] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 572.483985][ T3543] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 572.484105][ T3543] pv_native_safe_halt+0xf/0x10 [ 572.484205][ T3543] default_idle+0x9/0x10 [ 572.484305][ T3543] default_idle_call+0x6e/0xb0 [ 572.484407][ T3543] cpuidle_idle_call.constprop.0+0x237/0x410 [ 572.484526][ T3543] do_idle+0xf5/0x160 [ 572.484626][ T3543] cpu_startup_entry+0x53/0x70 [ 572.484732][ T3543] start_secondary+0x204/0x2b0 [ 572.484834][ T3543] common_startup_64+0x13e/0x148 [ 572.484933][ T3543] INITIAL USE at: [ 572.484994][ T3543] __lock_acquire+0x378/0xc10 [ 572.485094][ T3543] lock_acquire.part.0+0xbc/0x260 [ 572.485195][ T3543] _raw_write_lock_bh+0x38/0x50 [ 572.485294][ T3543] addrconf_permanent_addr+0x108/0x9c0 [ 572.485417][ T3543] addrconf_notify+0x151/0xf30 [ 572.485520][ T3543] notifier_call_chain+0xb0/0x320 [ 572.485622][ T3543] __dev_notify_flags+0xde/0x280 [ 572.485722][ T3543] netif_change_flags+0xfe/0x190 [ 572.485826][ T3543] do_setlink.isra.0+0x1cc3/0x2750 [ 572.485926][ T3543] rtnl_newlink+0x8d1/0xef0 [ 572.486027][ T3543] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 572.486128][ T3543] netlink_rcv_skb+0x14e/0x3a0 [ 572.486227][ T3543] netlink_unicast+0x486/0x750 [ 572.486326][ T3543] netlink_sendmsg+0x735/0xc60 [ 572.486428][ T3543] ____sys_sendmsg+0x419/0x850 [ 572.486528][ T3543] ___sys_sendmsg+0x14e/0x1d0 [ 572.486630][ T3543] __sys_sendmsg+0x145/0x1f0 [ 572.486734][ T3543] do_syscall_64+0x117/0x590 [ 572.486834][ T3543] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 572.486956][ T3543] INITIAL READ USE at: [ 572.487039][ T3543] __lock_acquire+0x378/0xc10 [ 572.487140][ T3543] lock_acquire.part.0+0xbc/0x260 [ 572.487274][ T3543] _raw_read_lock_bh+0x44/0x80 [ 572.487389][ T3543] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 572.487512][ T3543] inet6_fill_link_af+0x5c/0xe0 [ 572.487660][ T3543] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 572.487786][ T3543] rtnl_getlink+0x9c9/0xeb0 [ 572.487888][ T3543] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 572.488028][ T3543] netlink_rcv_skb+0x14e/0x3a0 [ 572.488127][ T3543] netlink_unicast+0x486/0x750 [ 572.488224][ T3543] netlink_sendmsg+0x735/0xc60 [ 572.488322][ T3543] ____sys_sendmsg+0x419/0x850 [ 572.488472][ T3543] ___sys_sendmsg+0x14e/0x1d0 [ 572.488572][ T3543] __sys_sendmsg+0x145/0x1f0 [ 572.488671][ T3543] do_syscall_64+0x117/0x590 [ 572.488816][ T3543] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 572.488934][ T3543] } [ 572.488974][ T3543] ... key at: [] __key.37+0x0/0x40 [ 572.489141][ T3543] ... acquired at: [ 572.489200][ T3543] __lock_acquire+0x508/0xc10 [ 572.489279][ T3543] lock_acquire.part.0+0xbc/0x260 [ 572.489357][ T3543] _raw_spin_lock+0x33/0x40 [ 572.489484][ T3543] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 572.489582][ T3543] __ipv6_dev_ac_inc+0x57e/0x930 [ 572.489662][ T3543] addrconf_join_anycast+0x1bc/0x260 [ 572.489746][ T3543] __ipv6_ifa_notify+0x75b/0xad0 [ 572.489864][ T3543] addrconf_dad_completed+0x14b/0xe10 [ 572.489945][ T3543] addrconf_dad_work+0x3c1/0x930 [ 572.490025][ T3543] process_one_work+0xdf8/0x1410 [ 572.490104][ T3543] worker_thread+0x4f1/0xd60 [ 572.490225][ T3543] kthread+0x367/0x460 [ 572.490289][ T3543] ret_from_fork+0x474/0x6b0 [ 572.490370][ T3543] ret_from_fork_asm+0x11/0x20 [ 572.490454][ T3543] [ 572.490494][ T3543] -> (acaddr_hash_lock){+.+.}-{3:3} { [ 572.490618][ T3543] HARDIRQ-ON-W at: [ 572.490678][ T3543] __lock_acquire+0x378/0xc10 [ 572.490781][ T3543] lock_acquire.part.0+0xbc/0x260 [ 572.490883][ T3543] _raw_spin_lock+0x33/0x40 [ 572.491025][ T3543] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 572.491145][ T3543] __ipv6_dev_ac_inc+0x57e/0x930 [ 572.491245][ T3543] addrconf_join_anycast+0x1bc/0x260 [ 572.491393][ T3543] __ipv6_ifa_notify+0x75b/0xad0 [ 572.491492][ T3543] addrconf_dad_completed+0x14b/0xe10 [ 572.491593][ T3543] addrconf_dad_work+0x3c1/0x930 [ 572.491737][ T3543] process_one_work+0xdf8/0x1410 [ 572.491836][ T3543] worker_thread+0x4f1/0xd60 [ 572.491935][ T3543] kthread+0x367/0x460 [ 572.492057][ T3543] ret_from_fork+0x474/0x6b0 [ 572.492160][ T3543] ret_from_fork_asm+0x11/0x20 [ 572.492258][ T3543] SOFTIRQ-ON-W at: [ 572.492319][ T3543] __lock_acquire+0x378/0xc10 [ 572.492466][ T3543] lock_acquire.part.0+0xbc/0x260 [ 572.492564][ T3543] _raw_spin_lock+0x33/0x40 [ 572.492663][ T3543] __ipv6_dev_ac_dec+0x236/0x5d0 [ 572.492813][ T3543] addrconf_leave_anycast+0x1bc/0x260 [ 572.492917][ T3543] dev_forward_change+0x3b3/0x850 [ 572.493022][ T3543] addrconf_fixup_forwarding+0x2af/0x4d0 [ 572.493183][ T3543] addrconf_sysctl_forward+0x209/0x2b0 [ 572.493283][ T3543] proc_sys_call_handler+0x31b/0x480 [ 572.493388][ T3543] new_sync_write+0x333/0x750 [ 572.493528][ T3543] vfs_write+0x6a4/0xc10 [ 572.493628][ T3543] ksys_write+0x116/0x250 [ 572.493748][ T3543] do_syscall_64+0x117/0x590 [ 572.493896][ T3543] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 572.494013][ T3543] INITIAL USE at: [ 572.494074][ T3543] __lock_acquire+0x378/0xc10 [ 572.494174][ T3543] lock_acquire.part.0+0xbc/0x260 [ 572.494316][ T3543] _raw_spin_lock+0x33/0x40 [ 572.494419][ T3543] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 572.494538][ T3543] __ipv6_dev_ac_inc+0x57e/0x930 [ 572.494680][ T3543] addrconf_join_anycast+0x1bc/0x260 [ 572.494785][ T3543] __ipv6_ifa_notify+0x75b/0xad0 [ 572.494886][ T3543] addrconf_dad_completed+0x14b/0xe10 [ 572.495030][ T3543] addrconf_dad_work+0x3c1/0x930 [ 572.495130][ T3543] process_one_work+0xdf8/0x1410 [ 572.495229][ T3543] worker_thread+0x4f1/0xd60 [ 572.495369][ T3543] kthread+0x367/0x460 [ 572.495453][ T3543] ret_from_fork+0x474/0x6b0 [ 572.495552][ T3543] ret_from_fork_asm+0x11/0x20 [ 572.495652][ T3543] } [ 572.495738][ T3543] ... key at: [] acaddr_hash_lock+0x18/0x45a0 [ 572.495856][ T3543] ... acquired at: [ 572.495916][ T3543] mark_lock+0x1d7/0xa00 [ 572.495996][ T3543] mark_usage+0x105/0x170 [ 572.496119][ T3543] __lock_acquire+0x378/0xc10 [ 572.496198][ T3543] lock_acquire.part.0+0xbc/0x260 [ 572.496277][ T3543] _raw_spin_lock+0x33/0x40 [ 572.496355][ T3543] __ipv6_dev_ac_dec+0x236/0x5d0 [ 572.496479][ T3543] addrconf_leave_anycast+0x1bc/0x260 [ 572.496559][ T3543] dev_forward_change+0x3b3/0x850 [ 572.496640][ T3543] addrconf_fixup_forwarding+0x2af/0x4d0 [ 572.496746][ T3543] addrconf_sysctl_forward+0x209/0x2b0 [ 572.496866][ T3543] proc_sys_call_handler+0x31b/0x480 [ 572.496946][ T3543] new_sync_write+0x333/0x750 [ 572.497026][ T3543] vfs_write+0x6a4/0xc10 [ 572.497104][ T3543] ksys_write+0x116/0x250 [ 572.497223][ T3543] do_syscall_64+0x117/0x590 [ 572.497303][ T3543] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 572.497403][ T3543] [ 572.497442][ T3543] [ 572.497442][ T3543] stack backtrace: [ 572.497582][ T3543] CPU: 2 UID: 0 PID: 3543 Comm: sysctl Not tainted 7.1.0-rc5-virtme #1 PREEMPT(full) [ 572.497585][ T3543] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 572.497586][ T3543] Call Trace: [ 572.497588][ T3543] [ 572.497590][ T3543] dump_stack_lvl+0x6f/0xa0 [ 572.497594][ T3543] print_irq_inversion_bug.part.0.cold+0xe6/0x143 [ 572.497597][ T3543] mark_lock_irq+0x989/0x9c0 [ 572.497600][ T3543] mark_lock+0x1d7/0xa00 [ 572.497602][ T3543] mark_usage+0x105/0x170 [ 572.497604][ T3543] __lock_acquire+0x378/0xc10 [ 572.497606][ T3543] lock_acquire.part.0+0xbc/0x260 [ 572.497607][ T3543] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 572.497609][ T3543] ? rcu_is_watching+0x15/0xd0 [ 572.497612][ T3543] ? do_raw_read_unlock+0x70/0x70 [ 572.497614][ T3543] ? lock_acquire+0x134/0x160 [ 572.497616][ T3543] _raw_spin_lock+0x33/0x40 [ 572.497618][ T3543] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 572.497619][ T3543] __ipv6_dev_ac_dec+0x236/0x5d0 [ 572.497621][ T3543] addrconf_leave_anycast+0x1bc/0x260 [ 572.497623][ T3543] ? find_held_lock+0x2b/0x80 [ 572.497626][ T3543] ? __ipv6_isatap_ifid+0x210/0x210 [ 572.497627][ T3543] ? mark_held_locks+0x40/0x70 [ 572.497629][ T3543] ? lockdep_hardirqs_on+0x8c/0x130 [ 572.497631][ T3543] dev_forward_change+0x3b3/0x850 [ 572.497633][ T3543] ? addrconf_fixup_forwarding+0x4d/0x4d0 [ 572.497635][ T3543] ? addrconf_sysctl_proxy_ndp+0x2f0/0x2f0 [ 572.497638][ T3543] addrconf_fixup_forwarding+0x2af/0x4d0 [ 572.497641][ T3543] addrconf_sysctl_forward+0x209/0x2b0 [ 572.497643][ T3543] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 572.497645][ T3543] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 572.497647][ T3543] ? __kvmalloc_node_noprof+0x305/0x8a0 [ 572.497650][ T3543] ? proc_sys_call_handler+0x25d/0x480 [ 572.497653][ T3543] proc_sys_call_handler+0x31b/0x480 [ 572.497655][ T3543] ? proc_sys_lookup+0x3d0/0x3d0 [ 572.497657][ T3543] ? rcu_read_unlock+0x1b/0x70 [ 572.497660][ T3543] ? do_raw_spin_unlock+0x59/0x250 [ 572.497661][ T3543] ? rcu_lockdep_current_cpu_online+0x39/0x1b0 [ 572.497663][ T3543] ? rcu_read_lock_any_held+0x3c/0x90 [ 572.497665][ T3543] ? proc_sys_call_handler+0x480/0x480 [ 572.497667][ T3543] new_sync_write+0x333/0x750 [ 572.497669][ T3543] ? __lock_acquire+0x508/0xc10 [ 572.497670][ T3543] ? new_sync_read+0x740/0x740 [ 572.497672][ T3543] ? lock_acquire.part.0+0xbc/0x260 [ 572.497673][ T3543] ? ksys_write+0x116/0x250 [ 572.497676][ T3543] vfs_write+0x6a4/0xc10 [ 572.497678][ T3543] ksys_write+0x116/0x250 [ 572.497679][ T3543] ? __ia32_sys_read+0xc0/0xc0 [ 572.497681][ T3543] ? rcu_is_watching+0x15/0xd0 [ 572.497682][ T3543] ? rcu_is_watching+0x15/0xd0 [ 572.497684][ T3543] do_syscall_64+0x117/0x590 [ 572.497685][ T3543] ? trace_hardirqs_off+0xd/0x30 [ 572.497689][ T3543] ? exc_page_fault+0xee/0x100 [ 572.497691][ T3543] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 572.497692][ T3543] RIP: 0033:0x7faec436c08e [ 572.497695][ T3543] 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 [ 572.497697][ T3543] RSP: 002b:00007ffc51279900 EFLAGS: 00000202 ORIG_RAX: 0000000000000001 [ 572.497700][ T3543] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007faec436c08e [ 572.497701][ T3543] RDX: 0000000000000002 RSI: 00005608cb6614b0 RDI: 0000000000000005 [ 572.497702][ T3543] RBP: 00007ffc51279910 R08: 0000000000000000 R09: 0000000000000000 [ 572.497704][ T3543] R10: 0000000000000000 R11: 0000000000000202 R12: 00005608cb6635e0 [ 572.497704][ T3543] R13: 00005608cb661470 R14: 0000000000000002 R15: 0000000000000000 [ 572.497707][ T3543]