[ 169.040969][ T1611] [ 169.041057][ T1611] ======================================================== [ 169.041187][ T1611] WARNING: possible irq lock inversion dependency detected [ 169.041307][ T1611] 7.1.0-rc5-virtme #1 Not tainted [ 169.041387][ T1611] -------------------------------------------------------- [ 169.041503][ T1611] sysctl/1611 just changed the state of lock: [ 169.041603][ T1611] ffffffffb6b7e8b8 (acaddr_hash_lock){+.+.}-{3:3}, at: __ipv6_dev_ac_dec+0x236/0x5d0 [ 169.041751][ T1611] but this lock was taken by another, SOFTIRQ-READ-safe lock in the past: [ 169.041870][ T1611] (&ndev->lock){++.-}-{3:3} [ 169.041872][ T1611] [ 169.041872][ T1611] [ 169.041872][ T1611] and interrupts could create inverse lock ordering between them. [ 169.041872][ T1611] [ 169.042157][ T1611] [ 169.042157][ T1611] other info that might help us debug this: [ 169.042281][ T1611] Possible interrupt unsafe locking scenario: [ 169.042281][ T1611] [ 169.042397][ T1611] CPU0 CPU1 [ 169.042476][ T1611] ---- ---- [ 169.042555][ T1611] lock(acaddr_hash_lock); [ 169.042635][ T1611] local_irq_disable(); [ 169.042735][ T1611] lock(&ndev->lock); [ 169.042836][ T1611] lock(acaddr_hash_lock); [ 169.042934][ T1611] [ 169.042995][ T1611] lock(&ndev->lock); [ 169.043055][ T1611] [ 169.043055][ T1611] *** DEADLOCK *** [ 169.043055][ T1611] [ 169.043171][ T1611] 2 locks held by sysctl/1611: [ 169.043250][ T1611] #0: ff11000009a693e0 (sb_writers#3){.+.+}-{0:0}, at: ksys_write+0x116/0x250 [ 169.043393][ T1611] #1: ffffffffb6a8c9c0 (rtnl_mutex){+.+.}-{4:4}, at: addrconf_fixup_forwarding+0x4d/0x4d0 [ 169.043552][ T1611] [ 169.043552][ T1611] the shortest dependencies between 2nd lock and 1st lock: [ 169.043690][ T1611] -> (&ndev->lock){++.-}-{3:3} { [ 169.043776][ T1611] HARDIRQ-ON-W at: [ 169.043839][ T1611] __lock_acquire+0x378/0xc10 [ 169.043943][ T1611] lock_acquire.part.0+0xbc/0x260 [ 169.044044][ T1611] _raw_write_lock_bh+0x38/0x50 [ 169.044145][ T1611] addrconf_permanent_addr+0x108/0x9c0 [ 169.044268][ T1611] addrconf_notify+0x151/0xf30 [ 169.044368][ T1611] notifier_call_chain+0xb0/0x320 [ 169.044467][ T1611] __dev_notify_flags+0xde/0x280 [ 169.044569][ T1611] netif_change_flags+0xfe/0x190 [ 169.044668][ T1611] do_setlink.isra.0+0x1cc3/0x2750 [ 169.044771][ T1611] rtnl_newlink+0x8d1/0xef0 [ 169.044870][ T1611] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 169.044969][ T1611] netlink_rcv_skb+0x14e/0x3a0 [ 169.045071][ T1611] netlink_unicast+0x486/0x750 [ 169.045177][ T1611] netlink_sendmsg+0x735/0xc60 [ 169.045278][ T1611] ____sys_sendmsg+0x419/0x850 [ 169.045380][ T1611] ___sys_sendmsg+0x14e/0x1d0 [ 169.045480][ T1611] __sys_sendmsg+0x145/0x1f0 [ 169.045579][ T1611] do_syscall_64+0x117/0x590 [ 169.045682][ T1611] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 169.045804][ T1611] HARDIRQ-ON-R at: [ 169.045866][ T1611] __lock_acquire+0x378/0xc10 [ 169.045967][ T1611] lock_acquire.part.0+0xbc/0x260 [ 169.046067][ T1611] _raw_read_lock_bh+0x44/0x80 [ 169.046170][ T1611] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 169.046294][ T1611] inet6_fill_link_af+0x5c/0xe0 [ 169.046392][ T1611] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 169.046513][ T1611] rtnl_getlink+0x9c9/0xeb0 [ 169.046612][ T1611] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 169.046712][ T1611] netlink_rcv_skb+0x14e/0x3a0 [ 169.046813][ T1611] netlink_unicast+0x486/0x750 [ 169.046912][ T1611] netlink_sendmsg+0x735/0xc60 [ 169.047012][ T1611] ____sys_sendmsg+0x419/0x850 [ 169.047114][ T1611] ___sys_sendmsg+0x14e/0x1d0 [ 169.047221][ T1611] __sys_sendmsg+0x145/0x1f0 [ 169.047322][ T1611] do_syscall_64+0x117/0x590 [ 169.047421][ T1611] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 169.047541][ T1611] IN-SOFTIRQ-R at: [ 169.047601][ T1611] __lock_acquire+0x378/0xc10 [ 169.047701][ T1611] lock_acquire.part.0+0xbc/0x260 [ 169.047800][ T1611] _raw_read_lock_bh+0x44/0x80 [ 169.047899][ T1611] ipv6_get_lladdr+0xa8/0x3f0 [ 169.047998][ T1611] ndisc_send_ns+0xf3/0x120 [ 169.048100][ T1611] ndisc_solicit+0x314/0x480 [ 169.048205][ T1611] neigh_probe+0xb3/0x100 [ 169.048306][ T1611] __neigh_event_send+0x802/0x1070 [ 169.048410][ T1611] neigh_resolve_output+0xbe/0x140 [ 169.048510][ T1611] ip6_finish_output2+0x423/0x1300 [ 169.048610][ T1611] ip6_finish_output+0x646/0xda0 [ 169.048710][ T1611] ip6_output+0x23f/0x7f0 [ 169.048813][ T1611] ip6_forward+0x10f4/0x2bd0 [ 169.048916][ T1611] ipv6_rcv+0x3c1/0x5a0 [ 169.049019][ T1611] __netif_receive_skb_one_core+0xfc/0x180 [ 169.049138][ T1611] process_backlog+0x2bc/0x1490 [ 169.049241][ T1611] __napi_poll+0xa7/0x3b0 [ 169.049340][ T1611] net_rx_action+0x513/0xf50 [ 169.049439][ T1611] handle_softirqs+0x1d8/0x940 [ 169.049542][ T1611] do_softirq+0xa9/0xe0 [ 169.049642][ T1611] __local_bh_enable_ip+0x113/0x140 [ 169.049744][ T1611] __neigh_event_send+0x30a/0x1070 [ 169.049845][ T1611] neigh_resolve_output+0xbe/0x140 [ 169.049947][ T1611] ip6_finish_output2+0x423/0x1300 [ 169.050046][ T1611] ip6_finish_output+0x646/0xda0 [ 169.050146][ T1611] ip6_output+0x23f/0x7f0 [ 169.050248][ T1611] ip6_send_skb+0xee/0x350 [ 169.050348][ T1611] rawv6_push_pending_frames+0x4cb/0xa90 [ 169.050466][ T1611] rawv6_sendmsg+0x1434/0x1a50 [ 169.050566][ T1611] __sys_sendto+0x2c9/0x400 [ 169.050666][ T1611] __x64_sys_sendto+0xe4/0x1f0 [ 169.050767][ T1611] do_syscall_64+0x117/0x590 [ 169.050866][ T1611] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 169.050985][ T1611] INITIAL USE at: [ 169.051048][ T1611] __lock_acquire+0x378/0xc10 [ 169.051149][ T1611] lock_acquire.part.0+0xbc/0x260 [ 169.051256][ T1611] _raw_write_lock_bh+0x38/0x50 [ 169.051353][ T1611] addrconf_permanent_addr+0x108/0x9c0 [ 169.051471][ T1611] addrconf_notify+0x151/0xf30 [ 169.051570][ T1611] notifier_call_chain+0xb0/0x320 [ 169.051670][ T1611] __dev_notify_flags+0xde/0x280 [ 169.051769][ T1611] netif_change_flags+0xfe/0x190 [ 169.051868][ T1611] do_setlink.isra.0+0x1cc3/0x2750 [ 169.051967][ T1611] rtnl_newlink+0x8d1/0xef0 [ 169.052065][ T1611] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 169.052167][ T1611] netlink_rcv_skb+0x14e/0x3a0 [ 169.052266][ T1611] netlink_unicast+0x486/0x750 [ 169.052363][ T1611] netlink_sendmsg+0x735/0xc60 [ 169.052462][ T1611] ____sys_sendmsg+0x419/0x850 [ 169.052562][ T1611] ___sys_sendmsg+0x14e/0x1d0 [ 169.052661][ T1611] __sys_sendmsg+0x145/0x1f0 [ 169.052759][ T1611] do_syscall_64+0x117/0x590 [ 169.052857][ T1611] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 169.052973][ T1611] INITIAL READ USE at: [ 169.053051][ T1611] __lock_acquire+0x378/0xc10 [ 169.053149][ T1611] lock_acquire.part.0+0xbc/0x260 [ 169.053272][ T1611] _raw_read_lock_bh+0x44/0x80 [ 169.053373][ T1611] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 169.053491][ T1611] inet6_fill_link_af+0x5c/0xe0 [ 169.053592][ T1611] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 169.053711][ T1611] rtnl_getlink+0x9c9/0xeb0 [ 169.053809][ T1611] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 169.053909][ T1611] netlink_rcv_skb+0x14e/0x3a0 [ 169.054009][ T1611] netlink_unicast+0x486/0x750 [ 169.054109][ T1611] netlink_sendmsg+0x735/0xc60 [ 169.054212][ T1611] ____sys_sendmsg+0x419/0x850 [ 169.054311][ T1611] ___sys_sendmsg+0x14e/0x1d0 [ 169.054411][ T1611] __sys_sendmsg+0x145/0x1f0 [ 169.054510][ T1611] do_syscall_64+0x117/0x590 [ 169.054609][ T1611] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 169.054729][ T1611] } [ 169.054771][ T1611] ... key at: [] __key.37+0x0/0x40 [ 169.054891][ T1611] ... acquired at: [ 169.054953][ T1611] __lock_acquire+0x508/0xc10 [ 169.055035][ T1611] lock_acquire.part.0+0xbc/0x260 [ 169.055115][ T1611] _raw_spin_lock+0x33/0x40 [ 169.055200][ T1611] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 169.055300][ T1611] __ipv6_dev_ac_inc+0x57e/0x930 [ 169.055379][ T1611] addrconf_join_anycast+0x1bc/0x260 [ 169.055458][ T1611] __ipv6_ifa_notify+0x75b/0xad0 [ 169.055538][ T1611] addrconf_dad_completed+0x14b/0xe10 [ 169.055616][ T1611] addrconf_dad_work+0x3c1/0x930 [ 169.055696][ T1611] process_one_work+0xdf8/0x1410 [ 169.055777][ T1611] worker_thread+0x4f1/0xd60 [ 169.055855][ T1611] kthread+0x367/0x460 [ 169.055915][ T1611] ret_from_fork+0x474/0x6b0 [ 169.055994][ T1611] ret_from_fork_asm+0x11/0x20 [ 169.056075][ T1611] [ 169.056115][ T1611] -> (acaddr_hash_lock){+.+.}-{3:3} { [ 169.056201][ T1611] HARDIRQ-ON-W at: [ 169.056260][ T1611] __lock_acquire+0x378/0xc10 [ 169.056404][ T1611] lock_acquire.part.0+0xbc/0x260 [ 169.056502][ T1611] _raw_spin_lock+0x33/0x40 [ 169.056600][ T1611] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 169.056760][ T1611] __ipv6_dev_ac_inc+0x57e/0x930 [ 169.056858][ T1611] addrconf_join_anycast+0x1bc/0x260 [ 169.056957][ T1611] __ipv6_ifa_notify+0x75b/0xad0 [ 169.057098][ T1611] addrconf_dad_completed+0x14b/0xe10 [ 169.057202][ T1611] addrconf_dad_work+0x3c1/0x930 [ 169.057302][ T1611] process_one_work+0xdf8/0x1410 [ 169.057442][ T1611] worker_thread+0x4f1/0xd60 [ 169.057541][ T1611] kthread+0x367/0x460 [ 169.057621][ T1611] ret_from_fork+0x474/0x6b0 [ 169.057720][ T1611] ret_from_fork_asm+0x11/0x20 [ 169.057864][ T1611] SOFTIRQ-ON-W at: [ 169.057924][ T1611] __lock_acquire+0x378/0xc10 [ 169.058022][ T1611] lock_acquire.part.0+0xbc/0x260 [ 169.058167][ T1611] _raw_spin_lock+0x33/0x40 [ 169.058267][ T1611] __ipv6_dev_ac_dec+0x236/0x5d0 [ 169.058365][ T1611] addrconf_leave_anycast+0x1bc/0x260 [ 169.058465][ T1611] dev_forward_change+0x3b3/0x850 [ 169.058606][ T1611] addrconf_fixup_forwarding+0x2af/0x4d0 [ 169.058726][ T1611] addrconf_sysctl_forward+0x209/0x2b0 [ 169.058825][ T1611] proc_sys_call_handler+0x31b/0x480 [ 169.058968][ T1611] new_sync_write+0x333/0x750 [ 169.059069][ T1611] vfs_write+0x6a4/0xc10 [ 169.059170][ T1611] ksys_write+0x116/0x250 [ 169.059269][ T1611] do_syscall_64+0x117/0x590 [ 169.059369][ T1611] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 169.059487][ T1611] INITIAL USE at: [ 169.059590][ T1611] __lock_acquire+0x378/0xc10 [ 169.059689][ T1611] lock_acquire.part.0+0xbc/0x260 [ 169.059787][ T1611] _raw_spin_lock+0x33/0x40 [ 169.059928][ T1611] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 169.060049][ T1611] __ipv6_dev_ac_inc+0x57e/0x930 [ 169.060148][ T1611] addrconf_join_anycast+0x1bc/0x260 [ 169.060295][ T1611] __ipv6_ifa_notify+0x75b/0xad0 [ 169.060397][ T1611] addrconf_dad_completed+0x14b/0xe10 [ 169.060496][ T1611] addrconf_dad_work+0x3c1/0x930 [ 169.060595][ T1611] process_one_work+0xdf8/0x1410 [ 169.060737][ T1611] worker_thread+0x4f1/0xd60 [ 169.060837][ T1611] kthread+0x367/0x460 [ 169.060918][ T1611] ret_from_fork+0x474/0x6b0 [ 169.061061][ T1611] ret_from_fork_asm+0x11/0x20 [ 169.061165][ T1611] } [ 169.061206][ T1611] ... key at: [] acaddr_hash_lock+0x18/0x45a0 [ 169.061324][ T1611] ... acquired at: [ 169.061423][ T1611] mark_lock+0x1d7/0xa00 [ 169.061504][ T1611] mark_usage+0x105/0x170 [ 169.061584][ T1611] __lock_acquire+0x378/0xc10 [ 169.061675][ T1611] lock_acquire.part.0+0xbc/0x260 [ 169.061796][ T1611] _raw_spin_lock+0x33/0x40 [ 169.061874][ T1611] __ipv6_dev_ac_dec+0x236/0x5d0 [ 169.061953][ T1611] addrconf_leave_anycast+0x1bc/0x260 [ 169.062032][ T1611] dev_forward_change+0x3b3/0x850 [ 169.062152][ T1611] addrconf_fixup_forwarding+0x2af/0x4d0 [ 169.062256][ T1611] addrconf_sysctl_forward+0x209/0x2b0 [ 169.062334][ T1611] proc_sys_call_handler+0x31b/0x480 [ 169.062413][ T1611] new_sync_write+0x333/0x750 [ 169.062532][ T1611] vfs_write+0x6a4/0xc10 [ 169.062611][ T1611] ksys_write+0x116/0x250 [ 169.062689][ T1611] do_syscall_64+0x117/0x590 [ 169.062767][ T1611] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 169.062905][ T1611] [ 169.062944][ T1611] [ 169.062944][ T1611] stack backtrace: [ 169.063042][ T1611] CPU: 2 UID: 0 PID: 1611 Comm: sysctl Not tainted 7.1.0-rc5-virtme #1 PREEMPT(full) [ 169.063045][ T1611] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 169.063047][ T1611] Call Trace: [ 169.063049][ T1611] [ 169.063050][ T1611] dump_stack_lvl+0x6f/0xa0 [ 169.063054][ T1611] print_irq_inversion_bug.part.0.cold+0xe6/0x143 [ 169.063057][ T1611] mark_lock_irq+0x989/0x9c0 [ 169.063060][ T1611] mark_lock+0x1d7/0xa00 [ 169.063062][ T1611] mark_usage+0x105/0x170 [ 169.063063][ T1611] __lock_acquire+0x378/0xc10 [ 169.063066][ T1611] lock_acquire.part.0+0xbc/0x260 [ 169.063067][ T1611] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 169.063069][ T1611] ? rcu_is_watching+0x15/0xd0 [ 169.063072][ T1611] ? do_raw_read_unlock+0x70/0x70 [ 169.063074][ T1611] ? lock_acquire+0x134/0x160 [ 169.063076][ T1611] _raw_spin_lock+0x33/0x40 [ 169.063078][ T1611] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 169.063079][ T1611] __ipv6_dev_ac_dec+0x236/0x5d0 [ 169.063081][ T1611] addrconf_leave_anycast+0x1bc/0x260 [ 169.063083][ T1611] ? find_held_lock+0x2b/0x80 [ 169.063086][ T1611] ? __ipv6_isatap_ifid+0x210/0x210 [ 169.063088][ T1611] ? mark_held_locks+0x40/0x70 [ 169.063090][ T1611] ? lockdep_hardirqs_on+0x8c/0x130 [ 169.063092][ T1611] dev_forward_change+0x3b3/0x850 [ 169.063094][ T1611] ? addrconf_fixup_forwarding+0x4d/0x4d0 [ 169.063096][ T1611] ? addrconf_sysctl_proxy_ndp+0x2f0/0x2f0 [ 169.063099][ T1611] addrconf_fixup_forwarding+0x2af/0x4d0 [ 169.063102][ T1611] addrconf_sysctl_forward+0x209/0x2b0 [ 169.063104][ T1611] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 169.063106][ T1611] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 169.063108][ T1611] ? __kvmalloc_node_noprof+0x305/0x8a0 [ 169.063112][ T1611] ? proc_sys_call_handler+0x25d/0x480 [ 169.063114][ T1611] proc_sys_call_handler+0x31b/0x480 [ 169.063116][ T1611] ? proc_sys_lookup+0x3d0/0x3d0 [ 169.063118][ T1611] ? rcu_read_unlock+0x1b/0x70 [ 169.063121][ T1611] ? do_raw_spin_unlock+0x59/0x250 [ 169.063122][ T1611] ? rcu_lockdep_current_cpu_online+0x39/0x1b0 [ 169.063124][ T1611] ? rcu_read_lock_any_held+0x3c/0x90 [ 169.063126][ T1611] ? proc_sys_call_handler+0x480/0x480 [ 169.063128][ T1611] new_sync_write+0x333/0x750 [ 169.063130][ T1611] ? __lock_acquire+0x508/0xc10 [ 169.063131][ T1611] ? new_sync_read+0x740/0x740 [ 169.063133][ T1611] ? lock_acquire.part.0+0xbc/0x260 [ 169.063135][ T1611] ? ksys_write+0x116/0x250 [ 169.063137][ T1611] vfs_write+0x6a4/0xc10 [ 169.063139][ T1611] ksys_write+0x116/0x250 [ 169.063141][ T1611] ? __ia32_sys_read+0xc0/0xc0 [ 169.063142][ T1611] ? rcu_is_watching+0x15/0xd0 [ 169.063144][ T1611] ? rcu_is_watching+0x15/0xd0 [ 169.063146][ T1611] do_syscall_64+0x117/0x590 [ 169.063147][ T1611] ? trace_hardirqs_off+0xd/0x30 [ 169.063150][ T1611] ? exc_page_fault+0xee/0x100 [ 169.063152][ T1611] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 169.063154][ T1611] RIP: 0033:0x7f1fad0de08e [ 169.063157][ T1611] 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 [ 169.063164][ T1611] RSP: 002b:00007ffeddb92050 EFLAGS: 00000202 ORIG_RAX: 0000000000000001 [ 169.063167][ T1611] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f1fad0de08e [ 169.063168][ T1611] RDX: 0000000000000002 RSI: 000055e8ad1864b0 RDI: 0000000000000005 [ 169.063169][ T1611] RBP: 00007ffeddb92060 R08: 0000000000000000 R09: 0000000000000000 [ 169.063170][ T1611] R10: 0000000000000000 R11: 0000000000000202 R12: 000055e8ad1885e0 [ 169.063171][ T1611] R13: 000055e8ad186470 R14: 0000000000000002 R15: 0000000000000000 [ 169.063174][ T1611]