[ 9.017417][ T187] ip (187) used greatest stack depth: 24416 bytes left [ 363.567566][T17143] [ 363.567654][T17143] ======================================================== [ 363.567785][T17143] WARNING: possible irq lock inversion dependency detected [ 363.567904][T17143] 7.1.0-rc5-virtme #1 Not tainted [ 363.567986][T17143] -------------------------------------------------------- [ 363.568100][T17143] sysctl/17143 just changed the state of lock: [ 363.568199][T17143] ffffffff93d7e8b8 (acaddr_hash_lock){+.+.}-{3:3}, at: __ipv6_dev_ac_dec+0x236/0x5d0 [ 363.568350][T17143] but this lock was taken by another, SOFTIRQ-READ-safe lock in the past: [ 363.568469][T17143] (&ndev->lock){++.-}-{3:3} [ 363.568472][T17143] [ 363.568472][T17143] [ 363.568472][T17143] and interrupts could create inverse lock ordering between them. [ 363.568472][T17143] [ 363.568767][T17143] [ 363.568767][T17143] other info that might help us debug this: [ 363.568886][T17143] Possible interrupt unsafe locking scenario: [ 363.568886][T17143] [ 363.569005][T17143] CPU0 CPU1 [ 363.569085][T17143] ---- ---- [ 363.569164][T17143] lock(acaddr_hash_lock); [ 363.569244][T17143] local_irq_disable(); [ 363.569344][T17143] lock(&ndev->lock); [ 363.569450][T17143] lock(acaddr_hash_lock); [ 363.569552][T17143] [ 363.569612][T17143] lock(&ndev->lock); [ 363.569675][T17143] [ 363.569675][T17143] *** DEADLOCK *** [ 363.569675][T17143] [ 363.569795][T17143] 2 locks held by sysctl/17143: [ 363.569877][T17143] #0: ff1100000a0f43e0 (sb_writers#3){.+.+}-{0:0}, at: ksys_write+0x116/0x250 [ 363.570023][T17143] #1: ffffffff93c8c9c0 (rtnl_mutex){+.+.}-{4:4}, at: addrconf_fixup_forwarding+0x4d/0x4d0 [ 363.570184][T17143] [ 363.570184][T17143] the shortest dependencies between 2nd lock and 1st lock: [ 363.570327][T17143] -> (&ndev->lock){++.-}-{3:3} { [ 363.570415][T17143] HARDIRQ-ON-W at: [ 363.570479][T17143] __lock_acquire+0x378/0xc10 [ 363.570585][T17143] lock_acquire.part.0+0xbc/0x260 [ 363.570689][T17143] _raw_write_lock_bh+0x38/0x50 [ 363.570797][T17143] addrconf_permanent_addr+0x108/0x9c0 [ 363.570919][T17143] addrconf_notify+0x151/0xf30 [ 363.571064][T17143] notifier_call_chain+0xb0/0x320 [ 363.571163][T17143] __dev_notify_flags+0xde/0x280 [ 363.571263][T17143] netif_change_flags+0xfe/0x190 [ 363.571411][T17143] do_setlink.isra.0+0x1cc3/0x2750 [ 363.571510][T17143] rtnl_newlink+0x8d1/0xef0 [ 363.571609][T17143] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 363.571752][T17143] netlink_rcv_skb+0x14e/0x3a0 [ 363.571859][T17143] netlink_unicast+0x486/0x750 [ 363.571958][T17143] netlink_sendmsg+0x735/0xc60 [ 363.572058][T17143] ____sys_sendmsg+0x419/0x850 [ 363.572202][T17143] ___sys_sendmsg+0x14e/0x1d0 [ 363.572301][T17143] __sys_sendmsg+0x145/0x1f0 [ 363.572405][T17143] do_syscall_64+0x117/0x590 [ 363.572546][T17143] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 363.572667][T17143] HARDIRQ-ON-R at: [ 363.572727][T17143] __lock_acquire+0x378/0xc10 [ 363.572875][T17143] lock_acquire.part.0+0xbc/0x260 [ 363.572975][T17143] _raw_read_lock_bh+0x44/0x80 [ 363.573075][T17143] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 363.573237][T17143] inet6_fill_link_af+0x5c/0xe0 [ 363.573338][T17143] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 363.573460][T17143] rtnl_getlink+0x9c9/0xeb0 [ 363.573601][T17143] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 363.573701][T17143] netlink_rcv_skb+0x14e/0x3a0 [ 363.573805][T17143] netlink_unicast+0x486/0x750 [ 363.573954][T17143] netlink_sendmsg+0x735/0xc60 [ 363.574057][T17143] ____sys_sendmsg+0x419/0x850 [ 363.574158][T17143] ___sys_sendmsg+0x14e/0x1d0 [ 363.574259][T17143] __sys_sendmsg+0x145/0x1f0 [ 363.574405][T17143] do_syscall_64+0x117/0x590 [ 363.574506][T17143] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 363.574628][T17143] IN-SOFTIRQ-R at: [ 363.574732][T17143] __lock_acquire+0x378/0xc10 [ 363.574837][T17143] lock_acquire.part.0+0xbc/0x260 [ 363.574936][T17143] _raw_read_lock_bh+0x44/0x80 [ 363.575077][T17143] ipv6_get_lladdr+0xa8/0x3f0 [ 363.575177][T17143] ndisc_send_ns+0xf3/0x120 [ 363.575276][T17143] ndisc_solicit+0x314/0x480 [ 363.575423][T17143] neigh_probe+0xb3/0x100 [ 363.575525][T17143] __neigh_event_send+0x802/0x1070 [ 363.575629][T17143] neigh_resolve_output+0xbe/0x140 [ 363.575727][T17143] ip6_finish_output2+0x423/0x1300 [ 363.575874][T17143] ip6_finish_output+0x646/0xda0 [ 363.575975][T17143] ip6_output+0x23f/0x7f0 [ 363.576076][T17143] ip6_forward+0x10f4/0x2bd0 [ 363.576217][T17143] ipv6_rcv+0x3c1/0x5a0 [ 363.576315][T17143] __netif_receive_skb_one_core+0xfc/0x180 [ 363.576437][T17143] process_backlog+0x2bc/0x1490 [ 363.576577][T17143] __napi_poll+0xa7/0x3b0 [ 363.576674][T17143] net_rx_action+0x513/0xf50 [ 363.576780][T17143] handle_softirqs+0x1d8/0x940 [ 363.576926][T17143] do_softirq+0xa9/0xe0 [ 363.577025][T17143] __local_bh_enable_ip+0x113/0x140 [ 363.577124][T17143] __neigh_event_send+0x30a/0x1070 [ 363.577223][T17143] neigh_resolve_output+0xbe/0x140 [ 363.577324][T17143] ip6_finish_output2+0x423/0x1300 [ 363.577428][T17143] ip6_finish_output+0x646/0xda0 [ 363.577570][T17143] ip6_output+0x23f/0x7f0 [ 363.577671][T17143] ip6_send_skb+0xee/0x350 [ 363.577775][T17143] rawv6_push_pending_frames+0x4cb/0xa90 [ 363.577940][T17143] rawv6_sendmsg+0x1434/0x1a50 [ 363.578040][T17143] __sys_sendto+0x2c9/0x400 [ 363.578139][T17143] __x64_sys_sendto+0xe4/0x1f0 [ 363.578240][T17143] do_syscall_64+0x117/0x590 [ 363.578383][T17143] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 363.578502][T17143] INITIAL USE at: [ 363.578564][T17143] __lock_acquire+0x378/0xc10 [ 363.578709][T17143] lock_acquire.part.0+0xbc/0x260 [ 363.578812][T17143] _raw_write_lock_bh+0x38/0x50 [ 363.578911][T17143] addrconf_permanent_addr+0x108/0x9c0 [ 363.579073][T17143] addrconf_notify+0x151/0xf30 [ 363.579173][T17143] notifier_call_chain+0xb0/0x320 [ 363.579272][T17143] __dev_notify_flags+0xde/0x280 [ 363.579414][T17143] netif_change_flags+0xfe/0x190 [ 363.579512][T17143] do_setlink.isra.0+0x1cc3/0x2750 [ 363.579612][T17143] rtnl_newlink+0x8d1/0xef0 [ 363.579753][T17143] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 363.579877][T17143] netlink_rcv_skb+0x14e/0x3a0 [ 363.579980][T17143] netlink_unicast+0x486/0x750 [ 363.580079][T17143] netlink_sendmsg+0x735/0xc60 [ 363.580220][T17143] ____sys_sendmsg+0x419/0x850 [ 363.580319][T17143] ___sys_sendmsg+0x14e/0x1d0 [ 363.580422][T17143] __sys_sendmsg+0x145/0x1f0 [ 363.580567][T17143] do_syscall_64+0x117/0x590 [ 363.580666][T17143] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 363.580842][T17143] INITIAL READ USE at: [ 363.580964][T17143] __lock_acquire+0x378/0xc10 [ 363.581061][T17143] lock_acquire.part.0+0xbc/0x260 [ 363.581179][T17143] _raw_read_lock_bh+0x44/0x80 [ 363.581320][T17143] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 363.581441][T17143] inet6_fill_link_af+0x5c/0xe0 [ 363.581541][T17143] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 363.581701][T17143] rtnl_getlink+0x9c9/0xeb0 [ 363.581804][T17143] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 363.581901][T17143] netlink_rcv_skb+0x14e/0x3a0 [ 363.582041][T17143] netlink_unicast+0x486/0x750 [ 363.582140][T17143] netlink_sendmsg+0x735/0xc60 [ 363.582238][T17143] ____sys_sendmsg+0x419/0x850 [ 363.582383][T17143] ___sys_sendmsg+0x14e/0x1d0 [ 363.582483][T17143] __sys_sendmsg+0x145/0x1f0 [ 363.582581][T17143] do_syscall_64+0x117/0x590 [ 363.582723][T17143] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 363.582845][T17143] } [ 363.582887][T17143] ... key at: [] __key.37+0x0/0x40 [ 363.583006][T17143] ... acquired at: [ 363.583106][T17143] __lock_acquire+0x508/0xc10 [ 363.583185][T17143] lock_acquire.part.0+0xbc/0x260 [ 363.583263][T17143] _raw_spin_lock+0x33/0x40 [ 363.583341][T17143] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 363.583487][T17143] __ipv6_dev_ac_inc+0x57e/0x930 [ 363.583565][T17143] addrconf_join_anycast+0x1bc/0x260 [ 363.583645][T17143] __ipv6_ifa_notify+0x75b/0xad0 [ 363.583723][T17143] addrconf_dad_completed+0x14b/0xe10 [ 363.583847][T17143] addrconf_dad_work+0x3c1/0x930 [ 363.583928][T17143] process_one_work+0xdf8/0x1410 [ 363.584008][T17143] worker_thread+0x4f1/0xd60 [ 363.584087][T17143] kthread+0x367/0x460 [ 363.584188][T17143] ret_from_fork+0x474/0x6b0 [ 363.584269][T17143] ret_from_fork_asm+0x11/0x20 [ 363.584353][T17143] [ 363.584393][T17143] -> (acaddr_hash_lock){+.+.}-{3:3} { [ 363.584475][T17143] HARDIRQ-ON-W at: [ 363.584575][T17143] __lock_acquire+0x378/0xc10 [ 363.584673][T17143] lock_acquire.part.0+0xbc/0x260 [ 363.584778][T17143] _raw_spin_lock+0x33/0x40 [ 363.584918][T17143] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 363.585036][T17143] __ipv6_dev_ac_inc+0x57e/0x930 [ 363.585134][T17143] addrconf_join_anycast+0x1bc/0x260 [ 363.585277][T17143] __ipv6_ifa_notify+0x75b/0xad0 [ 363.585377][T17143] addrconf_dad_completed+0x14b/0xe10 [ 363.585479][T17143] addrconf_dad_work+0x3c1/0x930 [ 363.585620][T17143] process_one_work+0xdf8/0x1410 [ 363.585719][T17143] worker_thread+0x4f1/0xd60 [ 363.585823][T17143] kthread+0x367/0x460 [ 363.585903][T17143] ret_from_fork+0x474/0x6b0 [ 363.586043][T17143] ret_from_fork_asm+0x11/0x20 [ 363.586145][T17143] SOFTIRQ-ON-W at: [ 363.586204][T17143] __lock_acquire+0x378/0xc10 [ 363.586348][T17143] lock_acquire.part.0+0xbc/0x260 [ 363.586450][T17143] _raw_spin_lock+0x33/0x40 [ 363.586551][T17143] __ipv6_dev_ac_dec+0x236/0x5d0 [ 363.586651][T17143] addrconf_leave_anycast+0x1bc/0x260 [ 363.586797][T17143] dev_forward_change+0x3b3/0x850 [ 363.586895][T17143] addrconf_fixup_forwarding+0x2af/0x4d0 [ 363.587013][T17143] addrconf_sysctl_forward+0x209/0x2b0 [ 363.587155][T17143] proc_sys_call_handler+0x31b/0x480 [ 363.587255][T17143] new_sync_write+0x333/0x750 [ 363.587360][T17143] vfs_write+0x6a4/0xc10 [ 363.587499][T17143] ksys_write+0x116/0x250 [ 363.587597][T17143] do_syscall_64+0x117/0x590 [ 363.587696][T17143] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 363.587860][T17143] INITIAL USE at: [ 363.587920][T17143] __lock_acquire+0x378/0xc10 [ 363.588019][T17143] lock_acquire.part.0+0xbc/0x260 [ 363.588159][T17143] _raw_spin_lock+0x33/0x40 [ 363.588258][T17143] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 363.588375][T17143] __ipv6_dev_ac_inc+0x57e/0x930 [ 363.588515][T17143] addrconf_join_anycast+0x1bc/0x260 [ 363.588615][T17143] __ipv6_ifa_notify+0x75b/0xad0 [ 363.588713][T17143] addrconf_dad_completed+0x14b/0xe10 [ 363.588819][T17143] addrconf_dad_work+0x3c1/0x930 [ 363.588960][T17143] process_one_work+0xdf8/0x1410 [ 363.589059][T17143] worker_thread+0x4f1/0xd60 [ 363.589159][T17143] kthread+0x367/0x460 [ 363.589241][T17143] ret_from_fork+0x474/0x6b0 [ 363.589340][T17143] ret_from_fork_asm+0x11/0x20 [ 363.589443][T17143] } [ 363.589483][T17143] ... key at: [] acaddr_hash_lock+0x18/0x45a0 [ 363.589644][T17143] ... acquired at: [ 363.589701][T17143] mark_lock+0x1d7/0xa00 [ 363.589786][T17143] mark_usage+0x105/0x170 [ 363.589866][T17143] __lock_acquire+0x378/0xc10 [ 363.589986][T17143] lock_acquire.part.0+0xbc/0x260 [ 363.590064][T17143] _raw_spin_lock+0x33/0x40 [ 363.590142][T17143] __ipv6_dev_ac_dec+0x236/0x5d0 [ 363.590221][T17143] addrconf_leave_anycast+0x1bc/0x260 [ 363.590341][T17143] dev_forward_change+0x3b3/0x850 [ 363.590425][T17143] addrconf_fixup_forwarding+0x2af/0x4d0 [ 363.590523][T17143] addrconf_sysctl_forward+0x209/0x2b0 [ 363.590644][T17143] proc_sys_call_handler+0x31b/0x480 [ 363.590724][T17143] new_sync_write+0x333/0x750 [ 363.590805][T17143] vfs_write+0x6a4/0xc10 [ 363.590883][T17143] ksys_write+0x116/0x250 [ 363.591003][T17143] do_syscall_64+0x117/0x590 [ 363.591082][T17143] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 363.591180][T17143] [ 363.591220][T17143] [ 363.591220][T17143] stack backtrace: [ 363.591359][T17143] CPU: 2 UID: 0 PID: 17143 Comm: sysctl Not tainted 7.1.0-rc5-virtme #1 PREEMPT(full) [ 363.591362][T17143] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 363.591364][T17143] Call Trace: [ 363.591366][T17143] [ 363.591367][T17143] dump_stack_lvl+0x6f/0xa0 [ 363.591371][T17143] print_irq_inversion_bug.part.0.cold+0xe6/0x143 [ 363.591374][T17143] mark_lock_irq+0x989/0x9c0 [ 363.591377][T17143] mark_lock+0x1d7/0xa00 [ 363.591379][T17143] mark_usage+0x105/0x170 [ 363.591381][T17143] __lock_acquire+0x378/0xc10 [ 363.591383][T17143] lock_acquire.part.0+0xbc/0x260 [ 363.591384][T17143] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 363.591386][T17143] ? rcu_is_watching+0x15/0xd0 [ 363.591389][T17143] ? do_raw_read_unlock+0x70/0x70 [ 363.591391][T17143] ? lock_acquire+0x134/0x160 [ 363.591393][T17143] _raw_spin_lock+0x33/0x40 [ 363.591394][T17143] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 363.591396][T17143] __ipv6_dev_ac_dec+0x236/0x5d0 [ 363.591398][T17143] addrconf_leave_anycast+0x1bc/0x260 [ 363.591400][T17143] ? find_held_lock+0x2b/0x80 [ 363.591403][T17143] ? __ipv6_isatap_ifid+0x210/0x210 [ 363.591405][T17143] ? mark_held_locks+0x40/0x70 [ 363.591406][T17143] ? lockdep_hardirqs_on+0x8c/0x130 [ 363.591409][T17143] dev_forward_change+0x3b3/0x850 [ 363.591411][T17143] ? addrconf_fixup_forwarding+0x4d/0x4d0 [ 363.591413][T17143] ? addrconf_sysctl_proxy_ndp+0x2f0/0x2f0 [ 363.591416][T17143] addrconf_fixup_forwarding+0x2af/0x4d0 [ 363.591418][T17143] addrconf_sysctl_forward+0x209/0x2b0 [ 363.591420][T17143] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 363.591423][T17143] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 363.591425][T17143] ? __kvmalloc_node_noprof+0x305/0x8a0 [ 363.591428][T17143] ? proc_sys_call_handler+0x25d/0x480 [ 363.591430][T17143] proc_sys_call_handler+0x31b/0x480 [ 363.591432][T17143] ? proc_sys_lookup+0x3d0/0x3d0 [ 363.591434][T17143] ? rcu_read_unlock+0x1b/0x70 [ 363.591437][T17143] ? do_raw_spin_unlock+0x59/0x250 [ 363.591438][T17143] ? rcu_lockdep_current_cpu_online+0x39/0x1b0 [ 363.591441][T17143] ? rcu_read_lock_any_held+0x3c/0x90 [ 363.591442][T17143] ? proc_sys_call_handler+0x480/0x480 [ 363.591445][T17143] new_sync_write+0x333/0x750 [ 363.591446][T17143] ? __lock_acquire+0x508/0xc10 [ 363.591447][T17143] ? new_sync_read+0x740/0x740 [ 363.591449][T17143] ? lock_acquire.part.0+0xbc/0x260 [ 363.591451][T17143] ? ksys_write+0x116/0x250 [ 363.591453][T17143] vfs_write+0x6a4/0xc10 [ 363.591455][T17143] ksys_write+0x116/0x250 [ 363.591456][T17143] ? __ia32_sys_read+0xc0/0xc0 [ 363.591458][T17143] ? rcu_is_watching+0x15/0xd0 [ 363.591459][T17143] ? rcu_is_watching+0x15/0xd0 [ 363.591461][T17143] do_syscall_64+0x117/0x590 [ 363.591463][T17143] ? trace_hardirqs_off+0xd/0x30 [ 363.591465][T17143] ? exc_page_fault+0xee/0x100 [ 363.591467][T17143] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 363.591469][T17143] RIP: 0033:0x7f8cf8cf808e [ 363.591472][T17143] 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 [ 363.591473][T17143] RSP: 002b:00007fff3fd2ff30 EFLAGS: 00000202 ORIG_RAX: 0000000000000001 [ 363.591476][T17143] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f8cf8cf808e [ 363.591478][T17143] RDX: 0000000000000002 RSI: 000055b4af4664b0 RDI: 0000000000000005 [ 363.591478][T17143] RBP: 00007fff3fd2ff40 R08: 0000000000000000 R09: 0000000000000000 [ 363.591479][T17143] R10: 0000000000000000 R11: 0000000000000202 R12: 000055b4af4685e0 [ 363.591480][T17143] R13: 000055b4af466470 R14: 0000000000000002 R15: 0000000000000000 [ 363.591482][T17143]