[ 17.638907][ T294] [ 17.639017][ T294] ======================================================== [ 17.639160][ T294] WARNING: possible irq lock inversion dependency detected [ 17.639293][ T294] 7.1.0-rc5-virtme #1 Not tainted [ 17.639407][ T294] -------------------------------------------------------- [ 17.639534][ T294] sysctl/294 just changed the state of lock: [ 17.639645][ T294] ffffffff9577e8b8 (acaddr_hash_lock){+.+.}-{3:3}, at: __ipv6_dev_ac_dec+0x236/0x5d0 [ 17.639812][ T294] but this lock was taken by another, SOFTIRQ-READ-safe lock in the past: [ 17.639944][ T294] (&ndev->lock){++.-}-{3:3} [ 17.639946][ T294] [ 17.639946][ T294] [ 17.639946][ T294] and interrupts could create inverse lock ordering between them. [ 17.639946][ T294] [ 17.640267][ T294] [ 17.640267][ T294] other info that might help us debug this: [ 17.640391][ T294] Possible interrupt unsafe locking scenario: [ 17.640391][ T294] [ 17.640522][ T294] CPU0 CPU1 [ 17.640611][ T294] ---- ---- [ 17.640696][ T294] lock(acaddr_hash_lock); [ 17.640786][ T294] local_irq_disable(); [ 17.640897][ T294] lock(&ndev->lock); [ 17.641012][ T294] lock(acaddr_hash_lock); [ 17.641129][ T294] [ 17.641194][ T294] lock(&ndev->lock); [ 17.641262][ T294] [ 17.641262][ T294] *** DEADLOCK *** [ 17.641262][ T294] [ 17.641420][ T294] 2 locks held by sysctl/294: [ 17.641508][ T294] #0: ff11000009c2c3e0 (sb_writers#3){.+.+}-{0:0}, at: ksys_write+0x116/0x250 [ 17.641669][ T294] #1: ffffffff9568c9c0 (rtnl_mutex){+.+.}-{4:4}, at: addrconf_fixup_forwarding+0x4d/0x4d0 [ 17.641846][ T294] [ 17.641846][ T294] the shortest dependencies between 2nd lock and 1st lock: [ 17.641995][ T294] -> (&ndev->lock){++.-}-{3:3} { [ 17.642095][ T294] HARDIRQ-ON-W at: [ 17.642161][ T294] __lock_acquire+0x378/0xc10 [ 17.642276][ T294] lock_acquire.part.0+0xbc/0x260 [ 17.642387][ T294] _raw_write_lock_bh+0x38/0x50 [ 17.642496][ T294] addrconf_permanent_addr+0x108/0x9c0 [ 17.642635][ T294] addrconf_notify+0x151/0xf30 [ 17.642751][ T294] notifier_call_chain+0xb0/0x320 [ 17.642859][ T294] __dev_notify_flags+0xde/0x280 [ 17.642973][ T294] netif_change_flags+0xfe/0x190 [ 17.643094][ T294] do_setlink.isra.0+0x1cc3/0x2750 [ 17.643211][ T294] rtnl_newlink+0x8d1/0xef0 [ 17.643322][ T294] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 17.643433][ T294] netlink_rcv_skb+0x14e/0x3a0 [ 17.643542][ T294] netlink_unicast+0x486/0x750 [ 17.643656][ T294] netlink_sendmsg+0x735/0xc60 [ 17.643787][ T294] ____sys_sendmsg+0x419/0x850 [ 17.643925][ T294] ___sys_sendmsg+0x14e/0x1d0 [ 17.644070][ T294] __sys_sendmsg+0x145/0x1f0 [ 17.644204][ T294] do_syscall_64+0x117/0x590 [ 17.644318][ T294] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 17.644452][ T294] HARDIRQ-ON-R at: [ 17.644518][ T294] __lock_acquire+0x378/0xc10 [ 17.644655][ T294] lock_acquire.part.0+0xbc/0x260 [ 17.644789][ T294] _raw_read_lock_bh+0x44/0x80 [ 17.644929][ T294] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 17.645099][ T294] inet6_fill_link_af+0x5c/0xe0 [ 17.645208][ T294] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 17.645365][ T294] rtnl_getlink+0x9c9/0xeb0 [ 17.645490][ T294] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 17.645610][ T294] netlink_rcv_skb+0x14e/0x3a0 [ 17.645745][ T294] netlink_unicast+0x486/0x750 [ 17.645859][ T294] netlink_sendmsg+0x735/0xc60 [ 17.645973][ T294] ____sys_sendmsg+0x419/0x850 [ 17.646092][ T294] ___sys_sendmsg+0x14e/0x1d0 [ 17.646213][ T294] __sys_sendmsg+0x145/0x1f0 [ 17.646345][ T294] do_syscall_64+0x117/0x590 [ 17.646460][ T294] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 17.646589][ T294] IN-SOFTIRQ-R at: [ 17.646658][ T294] __lock_acquire+0x378/0xc10 [ 17.646771][ T294] lock_acquire.part.0+0xbc/0x260 [ 17.646884][ T294] _raw_read_lock_bh+0x44/0x80 [ 17.646993][ T294] ipv6_get_lladdr+0xa8/0x3f0 [ 17.647114][ T294] ndisc_send_ns+0xf3/0x120 [ 17.647228][ T294] ndisc_solicit+0x314/0x480 [ 17.647354][ T294] neigh_probe+0xb3/0x100 [ 17.647485][ T294] __neigh_event_send+0x802/0x1070 [ 17.647624][ T294] neigh_resolve_output+0xbe/0x140 [ 17.647765][ T294] ip6_finish_output2+0x423/0x1300 [ 17.647898][ T294] ip6_finish_output+0x646/0xda0 [ 17.648037][ T294] ip6_output+0x23f/0x7f0 [ 17.648175][ T294] ip6_forward+0x10f4/0x2bd0 [ 17.648302][ T294] ipv6_rcv+0x3c1/0x5a0 [ 17.648449][ T294] __netif_receive_skb_one_core+0xfc/0x180 [ 17.648586][ T294] process_backlog+0x2bc/0x1490 [ 17.648726][ T294] __napi_poll+0xa7/0x3b0 [ 17.648835][ T294] net_rx_action+0x513/0xf50 [ 17.648949][ T294] handle_softirqs+0x1d8/0x940 [ 17.649076][ T294] do_softirq+0xa9/0xe0 [ 17.649200][ T294] __local_bh_enable_ip+0x113/0x140 [ 17.649308][ T294] __neigh_event_send+0x30a/0x1070 [ 17.649417][ T294] neigh_resolve_output+0xbe/0x140 [ 17.649557][ T294] ip6_finish_output2+0x423/0x1300 [ 17.649692][ T294] ip6_finish_output+0x646/0xda0 [ 17.649825][ T294] ip6_output+0x23f/0x7f0 [ 17.649935][ T294] ip6_send_skb+0xee/0x350 [ 17.650096][ T294] rawv6_push_pending_frames+0x4cb/0xa90 [ 17.650254][ T294] rawv6_sendmsg+0x1434/0x1a50 [ 17.650389][ T294] __sys_sendto+0x2c9/0x400 [ 17.650568][ T294] __x64_sys_sendto+0xe4/0x1f0 [ 17.650677][ T294] do_syscall_64+0x117/0x590 [ 17.650793][ T294] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 17.650993][ T294] INITIAL USE at: [ 17.651095][ T294] __lock_acquire+0x378/0xc10 [ 17.651217][ T294] lock_acquire.part.0+0xbc/0x260 [ 17.651338][ T294] _raw_write_lock_bh+0x38/0x50 [ 17.651520][ T294] addrconf_permanent_addr+0x108/0x9c0 [ 17.651653][ T294] addrconf_notify+0x151/0xf30 [ 17.651772][ T294] notifier_call_chain+0xb0/0x320 [ 17.651961][ T294] __dev_notify_flags+0xde/0x280 [ 17.652314][ T294] netif_change_flags+0xfe/0x190 [ 17.652447][ T294] do_setlink.isra.0+0x1cc3/0x2750 [ 17.652606][ T294] rtnl_newlink+0x8d1/0xef0 [ 17.652712][ T294] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 17.652824][ T294] netlink_rcv_skb+0x14e/0x3a0 [ 17.652984][ T294] netlink_unicast+0x486/0x750 [ 17.653099][ T294] netlink_sendmsg+0x735/0xc60 [ 17.653212][ T294] ____sys_sendmsg+0x419/0x850 [ 17.653374][ T294] ___sys_sendmsg+0x14e/0x1d0 [ 17.653512][ T294] __sys_sendmsg+0x145/0x1f0 [ 17.653646][ T294] do_syscall_64+0x117/0x590 [ 17.653761][ T294] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 17.653963][ T294] INITIAL READ USE at: [ 17.654054][ T294] __lock_acquire+0x378/0xc10 [ 17.654169][ T294] lock_acquire.part.0+0xbc/0x260 [ 17.654357][ T294] _raw_read_lock_bh+0x44/0x80 [ 17.654466][ T294] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 17.654628][ T294] inet6_fill_link_af+0x5c/0xe0 [ 17.654774][ T294] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 17.654921][ T294] rtnl_getlink+0x9c9/0xeb0 [ 17.655127][ T294] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 17.655280][ T294] netlink_rcv_skb+0x14e/0x3a0 [ 17.655402][ T294] netlink_unicast+0x486/0x750 [ 17.655515][ T294] netlink_sendmsg+0x735/0xc60 [ 17.655665][ T294] ____sys_sendmsg+0x419/0x850 [ 17.655772][ T294] ___sys_sendmsg+0x14e/0x1d0 [ 17.655881][ T294] __sys_sendmsg+0x145/0x1f0 [ 17.656050][ T294] do_syscall_64+0x117/0x590 [ 17.656166][ T294] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 17.656325][ T294] } [ 17.656386][ T294] ... key at: [] __key.37+0x0/0x40 [ 17.656604][ T294] ... acquired at: [ 17.656670][ T294] __lock_acquire+0x508/0xc10 [ 17.656763][ T294] lock_acquire.part.0+0xbc/0x260 [ 17.656903][ T294] _raw_spin_lock+0x33/0x40 [ 17.657017][ T294] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 17.657156][ T294] __ipv6_dev_ac_inc+0x57e/0x930 [ 17.657261][ T294] addrconf_join_anycast+0x1bc/0x260 [ 17.657422][ T294] __ipv6_ifa_notify+0x75b/0xad0 [ 17.657514][ T294] addrconf_dad_completed+0x14b/0xe10 [ 17.657602][ T294] addrconf_dad_work+0x3c1/0x930 [ 17.657688][ T294] process_one_work+0xdf8/0x1410 [ 17.657833][ T294] worker_thread+0x4f1/0xd60 [ 17.657922][ T294] kthread+0x367/0x460 [ 17.657987][ T294] ret_from_fork+0x474/0x6b0 [ 17.658082][ T294] ret_from_fork_asm+0x11/0x20 [ 17.658211][ T294] [ 17.658257][ T294] -> (acaddr_hash_lock){+.+.}-{3:3} { [ 17.658345][ T294] HARDIRQ-ON-W at: [ 17.658414][ T294] __lock_acquire+0x378/0xc10 [ 17.658523][ T294] lock_acquire.part.0+0xbc/0x260 [ 17.658703][ T294] _raw_spin_lock+0x33/0x40 [ 17.658840][ T294] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 17.658998][ T294] __ipv6_dev_ac_inc+0x57e/0x930 [ 17.659155][ T294] addrconf_join_anycast+0x1bc/0x260 [ 17.659264][ T294] __ipv6_ifa_notify+0x75b/0xad0 [ 17.659398][ T294] addrconf_dad_completed+0x14b/0xe10 [ 17.659584][ T294] addrconf_dad_work+0x3c1/0x930 [ 17.659692][ T294] process_one_work+0xdf8/0x1410 [ 17.659800][ T294] worker_thread+0x4f1/0xd60 [ 17.659956][ T294] kthread+0x367/0x460 [ 17.660054][ T294] ret_from_fork+0x474/0x6b0 [ 17.660168][ T294] ret_from_fork_asm+0x11/0x20 [ 17.660287][ T294] SOFTIRQ-ON-W at: [ 17.660400][ T294] __lock_acquire+0x378/0xc10 [ 17.660508][ T294] lock_acquire.part.0+0xbc/0x260 [ 17.660623][ T294] _raw_spin_lock+0x33/0x40 [ 17.660786][ T294] __ipv6_dev_ac_dec+0x236/0x5d0 [ 17.660896][ T294] addrconf_leave_anycast+0x1bc/0x260 [ 17.661015][ T294] dev_forward_change+0x3b3/0x850 [ 17.661198][ T294] addrconf_fixup_forwarding+0x2af/0x4d0 [ 17.661343][ T294] addrconf_sysctl_forward+0x209/0x2b0 [ 17.661466][ T294] proc_sys_call_handler+0x31b/0x480 [ 17.661621][ T294] new_sync_write+0x333/0x750 [ 17.661728][ T294] vfs_write+0x6a4/0xc10 [ 17.661836][ T294] ksys_write+0x116/0x250 [ 17.661946][ T294] do_syscall_64+0x117/0x590 [ 17.662107][ T294] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 17.662237][ T294] INITIAL USE at: [ 17.662305][ T294] __lock_acquire+0x378/0xc10 [ 17.662459][ T294] lock_acquire.part.0+0xbc/0x260 [ 17.662565][ T294] _raw_spin_lock+0x33/0x40 [ 17.662670][ T294] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 17.662844][ T294] __ipv6_dev_ac_inc+0x57e/0x930 [ 17.662955][ T294] addrconf_join_anycast+0x1bc/0x260 [ 17.663066][ T294] __ipv6_ifa_notify+0x75b/0xad0 [ 17.663216][ T294] addrconf_dad_completed+0x14b/0xe10 [ 17.663324][ T294] addrconf_dad_work+0x3c1/0x930 [ 17.663434][ T294] process_one_work+0xdf8/0x1410 [ 17.663588][ T294] worker_thread+0x4f1/0xd60 [ 17.663695][ T294] kthread+0x367/0x460 [ 17.663809][ T294] ret_from_fork+0x474/0x6b0 [ 17.663926][ T294] ret_from_fork_asm+0x11/0x20 [ 17.664086][ T294] } [ 17.664134][ T294] ... key at: [] acaddr_hash_lock+0x18/0x45a0 [ 17.664286][ T294] ... acquired at: [ 17.664361][ T294] mark_lock+0x1d7/0xa00 [ 17.664495][ T294] mark_usage+0x105/0x170 [ 17.664583][ T294] __lock_acquire+0x378/0xc10 [ 17.664673][ T294] lock_acquire.part.0+0xbc/0x260 [ 17.664758][ T294] _raw_spin_lock+0x33/0x40 [ 17.664885][ T294] __ipv6_dev_ac_dec+0x236/0x5d0 [ 17.664968][ T294] addrconf_leave_anycast+0x1bc/0x260 [ 17.665070][ T294] dev_forward_change+0x3b3/0x850 [ 17.665161][ T294] addrconf_fixup_forwarding+0x2af/0x4d0 [ 17.665311][ T294] addrconf_sysctl_forward+0x209/0x2b0 [ 17.665397][ T294] proc_sys_call_handler+0x31b/0x480 [ 17.665484][ T294] new_sync_write+0x333/0x750 [ 17.665567][ T294] vfs_write+0x6a4/0xc10 [ 17.665704][ T294] ksys_write+0x116/0x250 [ 17.665797][ T294] do_syscall_64+0x117/0x590 [ 17.665884][ T294] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 17.666043][ T294] [ 17.666089][ T294] [ 17.666089][ T294] stack backtrace: [ 17.666231][ T294] CPU: 0 UID: 0 PID: 294 Comm: sysctl Not tainted 7.1.0-rc5-virtme #1 PREEMPT(full) [ 17.666235][ T294] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 17.666237][ T294] Call Trace: [ 17.666239][ T294] [ 17.666241][ T294] dump_stack_lvl+0x6f/0xa0 [ 17.666246][ T294] print_irq_inversion_bug.part.0.cold+0xe6/0x143 [ 17.666249][ T294] mark_lock_irq+0x989/0x9c0 [ 17.666252][ T294] mark_lock+0x1d7/0xa00 [ 17.666253][ T294] mark_usage+0x105/0x170 [ 17.666255][ T294] __lock_acquire+0x378/0xc10 [ 17.666257][ T294] lock_acquire.part.0+0xbc/0x260 [ 17.666259][ T294] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 17.666260][ T294] ? rcu_is_watching+0x15/0xd0 [ 17.666264][ T294] ? do_raw_read_unlock+0x70/0x70 [ 17.666266][ T294] ? lock_acquire+0x134/0x160 [ 17.666268][ T294] _raw_spin_lock+0x33/0x40 [ 17.666269][ T294] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 17.666271][ T294] __ipv6_dev_ac_dec+0x236/0x5d0 [ 17.666273][ T294] addrconf_leave_anycast+0x1bc/0x260 [ 17.666274][ T294] ? find_held_lock+0x2b/0x80 [ 17.666277][ T294] ? __ipv6_isatap_ifid+0x210/0x210 [ 17.666279][ T294] ? mark_held_locks+0x40/0x70 [ 17.666281][ T294] ? lockdep_hardirqs_on+0x8c/0x130 [ 17.666283][ T294] dev_forward_change+0x3b3/0x850 [ 17.666285][ T294] ? addrconf_fixup_forwarding+0x4d/0x4d0 [ 17.666288][ T294] ? addrconf_sysctl_proxy_ndp+0x2f0/0x2f0 [ 17.666290][ T294] addrconf_fixup_forwarding+0x2af/0x4d0 [ 17.666293][ T294] addrconf_sysctl_forward+0x209/0x2b0 [ 17.666295][ T294] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 17.666297][ T294] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 17.666299][ T294] ? __kvmalloc_node_noprof+0x305/0x8a0 [ 17.666302][ T294] ? proc_sys_call_handler+0x25d/0x480 [ 17.666305][ T294] proc_sys_call_handler+0x31b/0x480 [ 17.666307][ T294] ? proc_sys_lookup+0x3d0/0x3d0 [ 17.666309][ T294] ? rcu_read_unlock+0x1b/0x70 [ 17.666312][ T294] ? do_raw_spin_unlock+0x59/0x250 [ 17.666313][ T294] ? rcu_lockdep_current_cpu_online+0x39/0x1b0 [ 17.666316][ T294] ? rcu_read_lock_any_held+0x3c/0x90 [ 17.666317][ T294] ? proc_sys_call_handler+0x480/0x480 [ 17.666320][ T294] new_sync_write+0x333/0x750 [ 17.666321][ T294] ? __lock_acquire+0x508/0xc10 [ 17.666322][ T294] ? new_sync_read+0x740/0x740 [ 17.666324][ T294] ? lock_acquire.part.0+0xbc/0x260 [ 17.666326][ T294] ? ksys_write+0x116/0x250 [ 17.666328][ T294] vfs_write+0x6a4/0xc10 [ 17.666330][ T294] ksys_write+0x116/0x250 [ 17.666331][ T294] ? __ia32_sys_read+0xc0/0xc0 [ 17.666333][ T294] ? rcu_is_watching+0x15/0xd0 [ 17.666334][ T294] ? rcu_is_watching+0x15/0xd0 [ 17.666336][ T294] do_syscall_64+0x117/0x590 [ 17.666337][ T294] ? trace_hardirqs_off+0xd/0x30 [ 17.666341][ T294] ? exc_page_fault+0xee/0x100 [ 17.666343][ T294] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 17.666344][ T294] RIP: 0033:0x7f6a70e1508e [ 17.666347][ T294] 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 [ 17.666349][ T294] RSP: 002b:00007ffcc563d880 EFLAGS: 00000202 ORIG_RAX: 0000000000000001 [ 17.666352][ T294] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f6a70e1508e [ 17.666353][ T294] RDX: 0000000000000002 RSI: 000055765bec24b0 RDI: 0000000000000005 [ 17.666354][ T294] RBP: 00007ffcc563d890 R08: 0000000000000000 R09: 0000000000000000 [ 17.666355][ T294] R10: 0000000000000000 R11: 0000000000000202 R12: 000055765bec45e0 [ 17.666356][ T294] R13: 000055765bec2470 R14: 0000000000000002 R15: 0000000000000000 [ 17.666358][ T294]