[ 21.472704][ T330] [ 21.472793][ T330] ======================================================== [ 21.472921][ T330] WARNING: possible irq lock inversion dependency detected [ 21.473042][ T330] 7.1.0-rc5-virtme #1 Not tainted [ 21.473123][ T330] -------------------------------------------------------- [ 21.473248][ T330] sysctl/330 just changed the state of lock: [ 21.473348][ T330] ffffffffaf37e8b8 (acaddr_hash_lock){+.+.}-{3:3}, at: __ipv6_dev_ac_dec+0x236/0x5d0 [ 21.473511][ T330] but this lock was taken by another, SOFTIRQ-READ-safe lock in the past: [ 21.473630][ T330] (&ndev->lock){++.-}-{3:3} [ 21.473633][ T330] [ 21.473633][ T330] [ 21.473633][ T330] and interrupts could create inverse lock ordering between them. [ 21.473633][ T330] [ 21.473921][ T330] [ 21.473921][ T330] other info that might help us debug this: [ 21.474043][ T330] Possible interrupt unsafe locking scenario: [ 21.474043][ T330] [ 21.474170][ T330] CPU0 CPU1 [ 21.474255][ T330] ---- ---- [ 21.474341][ T330] lock(acaddr_hash_lock); [ 21.474427][ T330] local_irq_disable(); [ 21.474528][ T330] lock(&ndev->lock); [ 21.474630][ T330] lock(acaddr_hash_lock); [ 21.474736][ T330] [ 21.474801][ T330] lock(&ndev->lock); [ 21.474864][ T330] [ 21.474864][ T330] *** DEADLOCK *** [ 21.474864][ T330] [ 21.474991][ T330] 2 locks held by sysctl/330: [ 21.475075][ T330] #0: ff1100000a0d43e0 (sb_writers#3){.+.+}-{0:0}, at: ksys_write+0x116/0x250 [ 21.475228][ T330] #1: ffffffffaf28c9c0 (rtnl_mutex){+.+.}-{4:4}, at: addrconf_fixup_forwarding+0x4d/0x4d0 [ 21.475401][ T330] [ 21.475401][ T330] the shortest dependencies between 2nd lock and 1st lock: [ 21.475542][ T330] -> (&ndev->lock){++.-}-{3:3} { [ 21.475626][ T330] HARDIRQ-ON-W at: [ 21.475689][ T330] __lock_acquire+0x378/0xc10 [ 21.475800][ T330] lock_acquire.part.0+0xbc/0x260 [ 21.475901][ T330] _raw_write_lock_bh+0x38/0x50 [ 21.476008][ T330] addrconf_permanent_addr+0x108/0x9c0 [ 21.476134][ T330] addrconf_notify+0x151/0xf30 [ 21.476234][ T330] notifier_call_chain+0xb0/0x320 [ 21.476338][ T330] __dev_notify_flags+0xde/0x280 [ 21.476443][ T330] netif_change_flags+0xfe/0x190 [ 21.476549][ T330] do_setlink.isra.0+0x1cc3/0x2750 [ 21.476653][ T330] rtnl_newlink+0x8d1/0xef0 [ 21.476753][ T330] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 21.476857][ T330] netlink_rcv_skb+0x14e/0x3a0 [ 21.476968][ T330] netlink_unicast+0x486/0x750 [ 21.477071][ T330] netlink_sendmsg+0x735/0xc60 [ 21.477180][ T330] ____sys_sendmsg+0x419/0x850 [ 21.477280][ T330] ___sys_sendmsg+0x14e/0x1d0 [ 21.477381][ T330] __sys_sendmsg+0x145/0x1f0 [ 21.477491][ T330] do_syscall_64+0x117/0x590 [ 21.477597][ T330] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 21.477725][ T330] HARDIRQ-ON-R at: [ 21.477791][ T330] __lock_acquire+0x378/0xc10 [ 21.477896][ T330] lock_acquire.part.0+0xbc/0x260 [ 21.478000][ T330] _raw_read_lock_bh+0x44/0x80 [ 21.478103][ T330] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 21.478231][ T330] inet6_fill_link_af+0x5c/0xe0 [ 21.478342][ T330] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 21.478470][ T330] rtnl_getlink+0x9c9/0xeb0 [ 21.478574][ T330] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 21.478678][ T330] netlink_rcv_skb+0x14e/0x3a0 [ 21.478782][ T330] netlink_unicast+0x486/0x750 [ 21.478892][ T330] netlink_sendmsg+0x735/0xc60 [ 21.478994][ T330] ____sys_sendmsg+0x419/0x850 [ 21.479101][ T330] ___sys_sendmsg+0x14e/0x1d0 [ 21.479201][ T330] __sys_sendmsg+0x145/0x1f0 [ 21.479305][ T330] do_syscall_64+0x117/0x590 [ 21.479415][ T330] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 21.479538][ T330] IN-SOFTIRQ-R at: [ 21.479600][ T330] __lock_acquire+0x378/0xc10 [ 21.479706][ T330] lock_acquire.part.0+0xbc/0x260 [ 21.479807][ T330] _raw_read_lock_bh+0x44/0x80 [ 21.479908][ T330] ipv6_get_lladdr+0xa8/0x3f0 [ 21.480013][ T330] ndisc_send_ns+0xf3/0x120 [ 21.480124][ T330] ndisc_solicit+0x314/0x480 [ 21.480229][ T330] neigh_probe+0xb3/0x100 [ 21.480335][ T330] __neigh_event_send+0x802/0x1070 [ 21.480444][ T330] neigh_resolve_output+0xbe/0x140 [ 21.480550][ T330] ip6_finish_output2+0x423/0x1300 [ 21.480658][ T330] ip6_finish_output+0x646/0xda0 [ 21.480768][ T330] ip6_output+0x23f/0x7f0 [ 21.480870][ T330] ip6_forward+0x10f4/0x2bd0 [ 21.480970][ T330] ipv6_rcv+0x3c1/0x5a0 [ 21.481070][ T330] __netif_receive_skb_one_core+0xfc/0x180 [ 21.481190][ T330] process_backlog+0x2bc/0x1490 [ 21.481294][ T330] __napi_poll+0xa7/0x3b0 [ 21.481445][ T330] net_rx_action+0x513/0xf50 [ 21.481551][ T330] handle_softirqs+0x1d8/0x940 [ 21.481656][ T330] do_softirq+0xa9/0xe0 [ 21.481800][ T330] __local_bh_enable_ip+0x113/0x140 [ 21.481900][ T330] __neigh_event_send+0x30a/0x1070 [ 21.482000][ T330] neigh_resolve_output+0xbe/0x140 [ 21.482142][ T330] ip6_finish_output2+0x423/0x1300 [ 21.482247][ T330] ip6_finish_output+0x646/0xda0 [ 21.482346][ T330] ip6_output+0x23f/0x7f0 [ 21.482450][ T330] ip6_send_skb+0xee/0x350 [ 21.482592][ T330] rawv6_push_pending_frames+0x4cb/0xa90 [ 21.482715][ T330] rawv6_sendmsg+0x1434/0x1a50 [ 21.482816][ T330] __sys_sendto+0x2c9/0x400 [ 21.482959][ T330] __x64_sys_sendto+0xe4/0x1f0 [ 21.483057][ T330] do_syscall_64+0x117/0x590 [ 21.483156][ T330] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 21.483319][ T330] INITIAL USE at: [ 21.483379][ T330] __lock_acquire+0x378/0xc10 [ 21.483487][ T330] lock_acquire.part.0+0xbc/0x260 [ 21.483585][ T330] _raw_write_lock_bh+0x38/0x50 [ 21.483685][ T330] addrconf_permanent_addr+0x108/0x9c0 [ 21.483810][ T330] addrconf_notify+0x151/0xf30 [ 21.483950][ T330] notifier_call_chain+0xb0/0x320 [ 21.484054][ T330] __dev_notify_flags+0xde/0x280 [ 21.484158][ T330] netif_change_flags+0xfe/0x190 [ 21.484302][ T330] do_setlink.isra.0+0x1cc3/0x2750 [ 21.484405][ T330] rtnl_newlink+0x8d1/0xef0 [ 21.484508][ T330] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 21.484609][ T330] netlink_rcv_skb+0x14e/0x3a0 [ 21.484750][ T330] netlink_unicast+0x486/0x750 [ 21.484853][ T330] netlink_sendmsg+0x735/0xc60 [ 21.484952][ T330] ____sys_sendmsg+0x419/0x850 [ 21.485095][ T330] ___sys_sendmsg+0x14e/0x1d0 [ 21.485205][ T330] __sys_sendmsg+0x145/0x1f0 [ 21.485304][ T330] do_syscall_64+0x117/0x590 [ 21.485456][ T330] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 21.485579][ T330] INITIAL READ USE at: [ 21.485663][ T330] __lock_acquire+0x378/0xc10 [ 21.485762][ T330] lock_acquire.part.0+0xbc/0x260 [ 21.485885][ T330] _raw_read_lock_bh+0x44/0x80 [ 21.485989][ T330] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 21.486107][ T330] inet6_fill_link_af+0x5c/0xe0 [ 21.486208][ T330] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 21.486332][ T330] rtnl_getlink+0x9c9/0xeb0 [ 21.486437][ T330] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 21.486536][ T330] netlink_rcv_skb+0x14e/0x3a0 [ 21.486643][ T330] netlink_unicast+0x486/0x750 [ 21.486753][ T330] netlink_sendmsg+0x735/0xc60 [ 21.486858][ T330] ____sys_sendmsg+0x419/0x850 [ 21.486963][ T330] ___sys_sendmsg+0x14e/0x1d0 [ 21.487106][ T330] __sys_sendmsg+0x145/0x1f0 [ 21.487214][ T330] do_syscall_64+0x117/0x590 [ 21.487320][ T330] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 21.487491][ T330] } [ 21.487534][ T330] ... key at: [] __key.37+0x0/0x40 [ 21.487654][ T330] ... acquired at: [ 21.487719][ T330] __lock_acquire+0x508/0xc10 [ 21.487804][ T330] lock_acquire.part.0+0xbc/0x260 [ 21.487921][ T330] _raw_spin_lock+0x33/0x40 [ 21.488004][ T330] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 21.488108][ T330] __ipv6_dev_ac_inc+0x57e/0x930 [ 21.488231][ T330] addrconf_join_anycast+0x1bc/0x260 [ 21.488310][ T330] __ipv6_ifa_notify+0x75b/0xad0 [ 21.488388][ T330] addrconf_dad_completed+0x14b/0xe10 [ 21.488476][ T330] addrconf_dad_work+0x3c1/0x930 [ 21.488596][ T330] process_one_work+0xdf8/0x1410 [ 21.488678][ T330] worker_thread+0x4f1/0xd60 [ 21.488764][ T330] kthread+0x367/0x460 [ 21.488827][ T330] ret_from_fork+0x474/0x6b0 [ 21.488912][ T330] ret_from_fork_asm+0x11/0x20 [ 21.489035][ T330] [ 21.489076][ T330] -> (acaddr_hash_lock){+.+.}-{3:3} { [ 21.489158][ T330] HARDIRQ-ON-W at: [ 21.489218][ T330] __lock_acquire+0x378/0xc10 [ 21.489360][ T330] lock_acquire.part.0+0xbc/0x260 [ 21.489465][ T330] _raw_spin_lock+0x33/0x40 [ 21.489564][ T330] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 21.489724][ T330] __ipv6_dev_ac_inc+0x57e/0x930 [ 21.489823][ T330] addrconf_join_anycast+0x1bc/0x260 [ 21.489922][ T330] __ipv6_ifa_notify+0x75b/0xad0 [ 21.490061][ T330] addrconf_dad_completed+0x14b/0xe10 [ 21.490162][ T330] addrconf_dad_work+0x3c1/0x930 [ 21.490265][ T330] process_one_work+0xdf8/0x1410 [ 21.490363][ T330] worker_thread+0x4f1/0xd60 [ 21.490518][ T330] kthread+0x367/0x460 [ 21.490603][ T330] ret_from_fork+0x474/0x6b0 [ 21.490707][ T330] ret_from_fork_asm+0x11/0x20 [ 21.490847][ T330] SOFTIRQ-ON-W at: [ 21.490912][ T330] __lock_acquire+0x378/0xc10 [ 21.491016][ T330] lock_acquire.part.0+0xbc/0x260 [ 21.491118][ T330] _raw_spin_lock+0x33/0x40 [ 21.491260][ T330] __ipv6_dev_ac_dec+0x236/0x5d0 [ 21.491366][ T330] addrconf_leave_anycast+0x1bc/0x260 [ 21.491472][ T330] dev_forward_change+0x3b3/0x850 [ 21.491612][ T330] addrconf_fixup_forwarding+0x2af/0x4d0 [ 21.491732][ T330] addrconf_sysctl_forward+0x209/0x2b0 [ 21.491832][ T330] proc_sys_call_handler+0x31b/0x480 [ 21.491982][ T330] new_sync_write+0x333/0x750 [ 21.492080][ T330] vfs_write+0x6a4/0xc10 [ 21.492180][ T330] ksys_write+0x116/0x250 [ 21.492322][ T330] do_syscall_64+0x117/0x590 [ 21.492424][ T330] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 21.492550][ T330] INITIAL USE at: [ 21.492649][ T330] __lock_acquire+0x378/0xc10 [ 21.492757][ T330] lock_acquire.part.0+0xbc/0x260 [ 21.492857][ T330] _raw_spin_lock+0x33/0x40 [ 21.492960][ T330] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 21.493119][ T330] __ipv6_dev_ac_inc+0x57e/0x930 [ 21.493218][ T330] addrconf_join_anycast+0x1bc/0x260 [ 21.493320][ T330] __ipv6_ifa_notify+0x75b/0xad0 [ 21.493462][ T330] addrconf_dad_completed+0x14b/0xe10 [ 21.493562][ T330] addrconf_dad_work+0x3c1/0x930 [ 21.493659][ T330] process_one_work+0xdf8/0x1410 [ 21.493807][ T330] worker_thread+0x4f1/0xd60 [ 21.493908][ T330] kthread+0x367/0x460 [ 21.493992][ T330] ret_from_fork+0x474/0x6b0 [ 21.494134][ T330] ret_from_fork_asm+0x11/0x20 [ 21.494233][ T330] } [ 21.494272][ T330] ... key at: [] acaddr_hash_lock+0x18/0x45a0 [ 21.494391][ T330] ... acquired at: [ 21.494493][ T330] mark_lock+0x1d7/0xa00 [ 21.494578][ T330] mark_usage+0x105/0x170 [ 21.494656][ T330] __lock_acquire+0x378/0xc10 [ 21.494740][ T330] lock_acquire.part.0+0xbc/0x260 [ 21.494857][ T330] _raw_spin_lock+0x33/0x40 [ 21.494935][ T330] __ipv6_dev_ac_dec+0x236/0x5d0 [ 21.495019][ T330] addrconf_leave_anycast+0x1bc/0x260 [ 21.495104][ T330] dev_forward_change+0x3b3/0x850 [ 21.495223][ T330] addrconf_fixup_forwarding+0x2af/0x4d0 [ 21.495321][ T330] addrconf_sysctl_forward+0x209/0x2b0 [ 21.495404][ T330] proc_sys_call_handler+0x31b/0x480 [ 21.495486][ T330] new_sync_write+0x333/0x750 [ 21.495604][ T330] vfs_write+0x6a4/0xc10 [ 21.495688][ T330] ksys_write+0x116/0x250 [ 21.495767][ T330] do_syscall_64+0x117/0x590 [ 21.495846][ T330] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 21.495988][ T330] [ 21.496028][ T330] [ 21.496028][ T330] stack backtrace: [ 21.496130][ T330] CPU: 0 UID: 0 PID: 330 Comm: sysctl Not tainted 7.1.0-rc5-virtme #1 PREEMPT(full) [ 21.496132][ T330] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 21.496134][ T330] Call Trace: [ 21.496135][ T330] [ 21.496137][ T330] dump_stack_lvl+0x6f/0xa0 [ 21.496141][ T330] print_irq_inversion_bug.part.0.cold+0xe6/0x143 [ 21.496143][ T330] mark_lock_irq+0x989/0x9c0 [ 21.496146][ T330] mark_lock+0x1d7/0xa00 [ 21.496148][ T330] mark_usage+0x105/0x170 [ 21.496149][ T330] __lock_acquire+0x378/0xc10 [ 21.496151][ T330] lock_acquire.part.0+0xbc/0x260 [ 21.496153][ T330] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 21.496154][ T330] ? rcu_is_watching+0x15/0xd0 [ 21.496157][ T330] ? do_raw_read_unlock+0x70/0x70 [ 21.496159][ T330] ? lock_acquire+0x134/0x160 [ 21.496161][ T330] _raw_spin_lock+0x33/0x40 [ 21.496162][ T330] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 21.496164][ T330] __ipv6_dev_ac_dec+0x236/0x5d0 [ 21.496166][ T330] addrconf_leave_anycast+0x1bc/0x260 [ 21.496167][ T330] ? find_held_lock+0x2b/0x80 [ 21.496170][ T330] ? __ipv6_isatap_ifid+0x210/0x210 [ 21.496172][ T330] ? mark_held_locks+0x40/0x70 [ 21.496173][ T330] ? lockdep_hardirqs_on+0x8c/0x130 [ 21.496176][ T330] dev_forward_change+0x3b3/0x850 [ 21.496178][ T330] ? addrconf_fixup_forwarding+0x4d/0x4d0 [ 21.496180][ T330] ? addrconf_sysctl_proxy_ndp+0x2f0/0x2f0 [ 21.496182][ T330] addrconf_fixup_forwarding+0x2af/0x4d0 [ 21.496185][ T330] addrconf_sysctl_forward+0x209/0x2b0 [ 21.496187][ T330] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 21.496189][ T330] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 21.496191][ T330] ? __kvmalloc_node_noprof+0x305/0x8a0 [ 21.496194][ T330] ? proc_sys_call_handler+0x25d/0x480 [ 21.496196][ T330] proc_sys_call_handler+0x31b/0x480 [ 21.496198][ T330] ? proc_sys_lookup+0x3d0/0x3d0 [ 21.496200][ T330] ? rcu_read_unlock+0x1b/0x70 [ 21.496203][ T330] ? do_raw_spin_unlock+0x59/0x250 [ 21.496204][ T330] ? rcu_lockdep_current_cpu_online+0x39/0x1b0 [ 21.496206][ T330] ? rcu_read_lock_any_held+0x3c/0x90 [ 21.496208][ T330] ? proc_sys_call_handler+0x480/0x480 [ 21.496210][ T330] new_sync_write+0x333/0x750 [ 21.496211][ T330] ? __lock_acquire+0x508/0xc10 [ 21.496213][ T330] ? new_sync_read+0x740/0x740 [ 21.496214][ T330] ? lock_acquire.part.0+0xbc/0x260 [ 21.496216][ T330] ? ksys_write+0x116/0x250 [ 21.496218][ T330] vfs_write+0x6a4/0xc10 [ 21.496219][ T330] ksys_write+0x116/0x250 [ 21.496221][ T330] ? __ia32_sys_read+0xc0/0xc0 [ 21.496222][ T330] ? rcu_is_watching+0x15/0xd0 [ 21.496224][ T330] ? rcu_is_watching+0x15/0xd0 [ 21.496226][ T330] do_syscall_64+0x117/0x590 [ 21.496227][ T330] ? trace_hardirqs_off+0xd/0x30 [ 21.496230][ T330] ? exc_page_fault+0xee/0x100 [ 21.496231][ T330] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 21.496233][ T330] RIP: 0033:0x7f85e91d608e [ 21.496236][ T330] 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 [ 21.496238][ T330] RSP: 002b:00007ffe5ea8a220 EFLAGS: 00000202 ORIG_RAX: 0000000000000001 [ 21.496241][ T330] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f85e91d608e [ 21.496242][ T330] RDX: 0000000000000002 RSI: 000055f9b47b24b0 RDI: 0000000000000005 [ 21.496243][ T330] RBP: 00007ffe5ea8a230 R08: 0000000000000000 R09: 0000000000000000 [ 21.496244][ T330] R10: 0000000000000000 R11: 0000000000000202 R12: 000055f9b47b45e0 [ 21.496244][ T330] R13: 000055f9b47b2470 R14: 0000000000000002 R15: 0000000000000000 [ 21.496247][ T330] [ 26.648952][ T354] Initializing XFRM netlink socket