[ 33.607582][ T504] [ 33.607668][ T504] ======================================================== [ 33.607802][ T504] WARNING: possible irq lock inversion dependency detected [ 33.607916][ T504] 7.1.0-rc5-virtme #1 Not tainted [ 33.607995][ T504] -------------------------------------------------------- [ 33.608108][ T504] sysctl/504 just changed the state of lock: [ 33.608205][ T504] ffffffffb957e8b8 (acaddr_hash_lock){+.+.}-{3:3}, at: __ipv6_dev_ac_dec+0x236/0x5d0 [ 33.608353][ T504] but this lock was taken by another, SOFTIRQ-safe lock in the past: [ 33.608466][ T504] (&ndev->lock){++--}-{3:3} [ 33.608469][ T504] [ 33.608469][ T504] [ 33.608469][ T504] and interrupts could create inverse lock ordering between them. [ 33.608469][ T504] [ 33.608759][ T504] [ 33.608759][ T504] other info that might help us debug this: [ 33.608876][ T504] Possible interrupt unsafe locking scenario: [ 33.608876][ T504] [ 33.608997][ T504] CPU0 CPU1 [ 33.609075][ T504] ---- ---- [ 33.609155][ T504] lock(acaddr_hash_lock); [ 33.609235][ T504] local_irq_disable(); [ 33.609331][ T504] lock(&ndev->lock); [ 33.609432][ T504] lock(acaddr_hash_lock); [ 33.609529][ T504] [ 33.609589][ T504] lock(&ndev->lock); [ 33.609651][ T504] [ 33.609651][ T504] *** DEADLOCK *** [ 33.609651][ T504] [ 33.609774][ T504] 2 locks held by sysctl/504: [ 33.609853][ T504] #0: ff11000009c393e0 (sb_writers#3){.+.+}-{0:0}, at: ksys_write+0x116/0x250 [ 33.609996][ T504] #1: ffffffffb948c9c0 (rtnl_mutex){+.+.}-{4:4}, at: addrconf_fixup_forwarding+0x4d/0x4d0 [ 33.610154][ T504] [ 33.610154][ T504] the shortest dependencies between 2nd lock and 1st lock: [ 33.610295][ T504] -> (&ndev->lock){++--}-{3:3} { [ 33.610380][ T504] HARDIRQ-ON-W at: [ 33.610445][ T504] __lock_acquire+0x378/0xc10 [ 33.610548][ T504] lock_acquire.part.0+0xbc/0x260 [ 33.610648][ T504] _raw_write_lock_bh+0x38/0x50 [ 33.610754][ T504] addrconf_permanent_addr+0x108/0x9c0 [ 33.610874][ T504] addrconf_notify+0x151/0xf30 [ 33.610974][ T504] notifier_call_chain+0xb0/0x320 [ 33.611072][ T504] __dev_notify_flags+0xde/0x280 [ 33.611176][ T504] netif_change_flags+0xfe/0x190 [ 33.611274][ T504] do_setlink.isra.0+0x1cc3/0x2750 [ 33.611374][ T504] rtnl_newlink+0x8d1/0xef0 [ 33.611473][ T504] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 33.611571][ T504] netlink_rcv_skb+0x14e/0x3a0 [ 33.611672][ T504] netlink_unicast+0x486/0x750 [ 33.611775][ T504] netlink_sendmsg+0x735/0xc60 [ 33.611873][ T504] ____sys_sendmsg+0x419/0x850 [ 33.611973][ T504] ___sys_sendmsg+0x14e/0x1d0 [ 33.612071][ T504] __sys_sendmsg+0x145/0x1f0 [ 33.612170][ T504] do_syscall_64+0x117/0x590 [ 33.612268][ T504] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 33.612388][ T504] HARDIRQ-ON-R at: [ 33.612447][ T504] __lock_acquire+0x378/0xc10 [ 33.612546][ T504] lock_acquire.part.0+0xbc/0x260 [ 33.612644][ T504] _raw_read_lock_bh+0x44/0x80 [ 33.612747][ T504] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 33.612863][ T504] inet6_fill_link_af+0x5c/0xe0 [ 33.612959][ T504] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 33.613077][ T504] rtnl_getlink+0x9c9/0xeb0 [ 33.613175][ T504] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 33.613272][ T504] netlink_rcv_skb+0x14e/0x3a0 [ 33.613370][ T504] netlink_unicast+0x486/0x750 [ 33.613466][ T504] netlink_sendmsg+0x735/0xc60 [ 33.613564][ T504] ____sys_sendmsg+0x419/0x850 [ 33.613662][ T504] ___sys_sendmsg+0x14e/0x1d0 [ 33.613764][ T504] __sys_sendmsg+0x145/0x1f0 [ 33.613860][ T504] do_syscall_64+0x117/0x590 [ 33.613955][ T504] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 33.614072][ T504] IN-SOFTIRQ-W at: [ 33.614130][ T504] __lock_acquire+0x378/0xc10 [ 33.614226][ T504] lock_acquire.part.0+0xbc/0x260 [ 33.614323][ T504] _raw_write_lock+0x33/0x40 [ 33.614420][ T504] addrconf_rs_timer+0xb0/0x770 [ 33.614518][ T504] call_timer_fn+0x163/0x4f0 [ 33.614620][ T504] __run_timers+0x68f/0xab0 [ 33.614721][ T504] run_timer_softirq+0xf0/0x160 [ 33.614818][ T504] handle_softirqs+0x1d8/0x940 [ 33.614916][ T504] __irq_exit_rcu+0x103/0x1c0 [ 33.615013][ T504] irq_exit_rcu+0xe/0x30 [ 33.615112][ T504] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 33.615228][ T504] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 33.615343][ T504] pv_native_safe_halt+0xf/0x10 [ 33.615440][ T504] default_idle+0x9/0x10 [ 33.615536][ T504] default_idle_call+0x6e/0xb0 [ 33.615635][ T504] cpuidle_idle_call.constprop.0+0x237/0x410 [ 33.615756][ T504] do_idle+0xf5/0x160 [ 33.615851][ T504] cpu_startup_entry+0x53/0x70 [ 33.615949][ T504] start_secondary+0x204/0x2b0 [ 33.616046][ T504] common_startup_64+0x13e/0x148 [ 33.616145][ T504] IN-SOFTIRQ-R at: [ 33.616205][ T504] __lock_acquire+0x378/0xc10 [ 33.616303][ T504] lock_acquire.part.0+0xbc/0x260 [ 33.616401][ T504] _raw_read_lock_bh+0x44/0x80 [ 33.616498][ T504] ipv6_get_lladdr+0xa8/0x3f0 [ 33.616597][ T504] addrconf_rs_timer+0x251/0x770 [ 33.616698][ T504] call_timer_fn+0x163/0x4f0 [ 33.616800][ T504] __run_timers+0x68f/0xab0 [ 33.616897][ T504] run_timer_softirq+0xf0/0x160 [ 33.616993][ T504] handle_softirqs+0x1d8/0x940 [ 33.617089][ T504] __irq_exit_rcu+0x103/0x1c0 [ 33.617186][ T504] irq_exit_rcu+0xe/0x30 [ 33.617282][ T504] sysvec_apic_timer_interrupt+0x9d/0xe0 [ 33.617400][ T504] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 33.617515][ T504] pv_native_safe_halt+0xf/0x10 [ 33.617612][ T504] default_idle+0x9/0x10 [ 33.617710][ T504] default_idle_call+0x6e/0xb0 [ 33.617811][ T504] cpuidle_idle_call.constprop.0+0x237/0x410 [ 33.617928][ T504] do_idle+0xf5/0x160 [ 33.618025][ T504] cpu_startup_entry+0x53/0x70 [ 33.618122][ T504] start_secondary+0x204/0x2b0 [ 33.618219][ T504] common_startup_64+0x13e/0x148 [ 33.618319][ T504] INITIAL USE at: [ 33.618378][ T504] __lock_acquire+0x378/0xc10 [ 33.618474][ T504] lock_acquire.part.0+0xbc/0x260 [ 33.618571][ T504] _raw_write_lock_bh+0x38/0x50 [ 33.618669][ T504] addrconf_permanent_addr+0x108/0x9c0 [ 33.618790][ T504] addrconf_notify+0x151/0xf30 [ 33.618891][ T504] notifier_call_chain+0xb0/0x320 [ 33.618987][ T504] __dev_notify_flags+0xde/0x280 [ 33.619083][ T504] netif_change_flags+0xfe/0x190 [ 33.619179][ T504] do_setlink.isra.0+0x1cc3/0x2750 [ 33.619278][ T504] rtnl_newlink+0x8d1/0xef0 [ 33.619379][ T504] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 33.619475][ T504] netlink_rcv_skb+0x14e/0x3a0 [ 33.619573][ T504] netlink_unicast+0x486/0x750 [ 33.619671][ T504] netlink_sendmsg+0x735/0xc60 [ 33.619774][ T504] ____sys_sendmsg+0x419/0x850 [ 33.619874][ T504] ___sys_sendmsg+0x14e/0x1d0 [ 33.620018][ T504] __sys_sendmsg+0x145/0x1f0 [ 33.620113][ T504] do_syscall_64+0x117/0x590 [ 33.620209][ T504] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 33.620368][ T504] INITIAL READ USE at: [ 33.620445][ T504] __lock_acquire+0x378/0xc10 [ 33.620542][ T504] lock_acquire.part.0+0xbc/0x260 [ 33.620700][ T504] _raw_read_lock_bh+0x44/0x80 [ 33.620801][ T504] inet6_fill_ifla6_attrs+0x1aee/0x21e0 [ 33.620915][ T504] inet6_fill_link_af+0x5c/0xe0 [ 33.621054][ T504] rtnl_fill_ifinfo.isra.0+0x1a45/0x2c20 [ 33.621170][ T504] rtnl_getlink+0x9c9/0xeb0 [ 33.621265][ T504] rtnetlink_rcv_msg+0x6fd/0xbd0 [ 33.621404][ T504] netlink_rcv_skb+0x14e/0x3a0 [ 33.621500][ T504] netlink_unicast+0x486/0x750 [ 33.621597][ T504] netlink_sendmsg+0x735/0xc60 [ 33.621742][ T504] ____sys_sendmsg+0x419/0x850 [ 33.621838][ T504] ___sys_sendmsg+0x14e/0x1d0 [ 33.621936][ T504] __sys_sendmsg+0x145/0x1f0 [ 33.622075][ T504] do_syscall_64+0x117/0x590 [ 33.622172][ T504] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 33.622288][ T504] } [ 33.622329][ T504] ... key at: [] __key.37+0x0/0x40 [ 33.622487][ T504] ... acquired at: [ 33.622545][ T504] __lock_acquire+0x508/0xc10 [ 33.622624][ T504] lock_acquire.part.0+0xbc/0x260 [ 33.622701][ T504] _raw_spin_lock+0x33/0x40 [ 33.622823][ T504] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 33.622922][ T504] __ipv6_dev_ac_inc+0x57e/0x930 [ 33.622996][ T504] addrconf_join_anycast+0x1bc/0x260 [ 33.623114][ T504] __ipv6_ifa_notify+0x75b/0xad0 [ 33.623191][ T504] addrconf_dad_completed+0x14b/0xe10 [ 33.623267][ T504] addrconf_dad_work+0x3c1/0x930 [ 33.623343][ T504] process_one_work+0xdf8/0x1410 [ 33.623465][ T504] worker_thread+0x4f1/0xd60 [ 33.623541][ T504] kthread+0x367/0x460 [ 33.623602][ T504] ret_from_fork+0x474/0x6b0 [ 33.623679][ T504] ret_from_fork_asm+0x11/0x20 [ 33.623762][ T504] [ 33.623840][ T504] -> (acaddr_hash_lock){+.+.}-{3:3} { [ 33.623920][ T504] HARDIRQ-ON-W at: [ 33.623979][ T504] __lock_acquire+0x378/0xc10 [ 33.624079][ T504] lock_acquire.part.0+0xbc/0x260 [ 33.624215][ T504] _raw_spin_lock+0x33/0x40 [ 33.624312][ T504] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 33.624426][ T504] __ipv6_dev_ac_inc+0x57e/0x930 [ 33.624564][ T504] addrconf_join_anycast+0x1bc/0x260 [ 33.624662][ T504] __ipv6_ifa_notify+0x75b/0xad0 [ 33.624761][ T504] addrconf_dad_completed+0x14b/0xe10 [ 33.624898][ T504] addrconf_dad_work+0x3c1/0x930 [ 33.624994][ T504] process_one_work+0xdf8/0x1410 [ 33.625090][ T504] worker_thread+0x4f1/0xd60 [ 33.625227][ T504] kthread+0x367/0x460 [ 33.625306][ T504] ret_from_fork+0x474/0x6b0 [ 33.625401][ T504] ret_from_fork_asm+0x11/0x20 [ 33.625497][ T504] SOFTIRQ-ON-W at: [ 33.625596][ T504] __lock_acquire+0x378/0xc10 [ 33.625693][ T504] lock_acquire.part.0+0xbc/0x260 [ 33.625792][ T504] _raw_spin_lock+0x33/0x40 [ 33.625933][ T504] __ipv6_dev_ac_dec+0x236/0x5d0 [ 33.626030][ T504] addrconf_leave_anycast+0x1bc/0x260 [ 33.626126][ T504] dev_forward_change+0x3b3/0x850 [ 33.626222][ T504] addrconf_fixup_forwarding+0x2af/0x4d0 [ 33.626378][ T504] addrconf_sysctl_forward+0x209/0x2b0 [ 33.626477][ T504] proc_sys_call_handler+0x31b/0x480 [ 33.626576][ T504] new_sync_write+0x333/0x750 [ 33.626719][ T504] vfs_write+0x6a4/0xc10 [ 33.626816][ T504] ksys_write+0x116/0x250 [ 33.626912][ T504] do_syscall_64+0x117/0x590 [ 33.627049][ T504] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 33.627165][ T504] INITIAL USE at: [ 33.627224][ T504] __lock_acquire+0x378/0xc10 [ 33.627361][ T504] lock_acquire.part.0+0xbc/0x260 [ 33.627458][ T504] _raw_spin_lock+0x33/0x40 [ 33.627555][ T504] ipv6_add_acaddr_hash.isra.0+0x16d/0x350 [ 33.627716][ T504] __ipv6_dev_ac_inc+0x57e/0x930 [ 33.627816][ T504] addrconf_join_anycast+0x1bc/0x260 [ 33.627913][ T504] __ipv6_ifa_notify+0x75b/0xad0 [ 33.628051][ T504] addrconf_dad_completed+0x14b/0xe10 [ 33.628150][ T504] addrconf_dad_work+0x3c1/0x930 [ 33.628247][ T504] process_one_work+0xdf8/0x1410 [ 33.628347][ T504] worker_thread+0x4f1/0xd60 [ 33.628445][ T504] kthread+0x367/0x460 [ 33.628522][ T504] ret_from_fork+0x474/0x6b0 [ 33.628621][ T504] ret_from_fork_asm+0x11/0x20 [ 33.628762][ T504] } [ 33.628800][ T504] ... key at: [] acaddr_hash_lock+0x18/0x45a0 [ 33.628917][ T504] ... acquired at: [ 33.628974][ T504] mark_lock+0x1d7/0xa00 [ 33.629093][ T504] mark_usage+0x105/0x170 [ 33.629170][ T504] __lock_acquire+0x378/0xc10 [ 33.629247][ T504] lock_acquire.part.0+0xbc/0x260 [ 33.629323][ T504] _raw_spin_lock+0x33/0x40 [ 33.629440][ T504] __ipv6_dev_ac_dec+0x236/0x5d0 [ 33.629518][ T504] addrconf_leave_anycast+0x1bc/0x260 [ 33.629595][ T504] dev_forward_change+0x3b3/0x850 [ 33.629673][ T504] addrconf_fixup_forwarding+0x2af/0x4d0 [ 33.629816][ T504] addrconf_sysctl_forward+0x209/0x2b0 [ 33.629893][ T504] proc_sys_call_handler+0x31b/0x480 [ 33.629970][ T504] new_sync_write+0x333/0x750 [ 33.630046][ T504] vfs_write+0x6a4/0xc10 [ 33.630165][ T504] ksys_write+0x116/0x250 [ 33.630241][ T504] do_syscall_64+0x117/0x590 [ 33.630318][ T504] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 33.630414][ T504] [ 33.630492][ T504] [ 33.630492][ T504] stack backtrace: [ 33.630590][ T504] CPU: 2 UID: 0 PID: 504 Comm: sysctl Not tainted 7.1.0-rc5-virtme #1 PREEMPT(full) [ 33.630593][ T504] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 33.630595][ T504] Call Trace: [ 33.630597][ T504] [ 33.630598][ T504] dump_stack_lvl+0x6f/0xa0 [ 33.630602][ T504] print_irq_inversion_bug.part.0.cold+0xe6/0x143 [ 33.630606][ T504] mark_lock_irq+0x989/0x9c0 [ 33.630608][ T504] mark_lock+0x1d7/0xa00 [ 33.630610][ T504] mark_usage+0x105/0x170 [ 33.630611][ T504] __lock_acquire+0x378/0xc10 [ 33.630613][ T504] lock_acquire.part.0+0xbc/0x260 [ 33.630615][ T504] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 33.630616][ T504] ? rcu_is_watching+0x15/0xd0 [ 33.630619][ T504] ? do_raw_read_unlock+0x70/0x70 [ 33.630621][ T504] ? lock_acquire+0x134/0x160 [ 33.630623][ T504] _raw_spin_lock+0x33/0x40 [ 33.630625][ T504] ? __ipv6_dev_ac_dec+0x236/0x5d0 [ 33.630626][ T504] __ipv6_dev_ac_dec+0x236/0x5d0 [ 33.630628][ T504] addrconf_leave_anycast+0x1bc/0x260 [ 33.630630][ T504] ? find_held_lock+0x2b/0x80 [ 33.630632][ T504] ? __ipv6_isatap_ifid+0x210/0x210 [ 33.630634][ T504] ? mark_held_locks+0x40/0x70 [ 33.630636][ T504] ? lockdep_hardirqs_on+0x8c/0x130 [ 33.630638][ T504] dev_forward_change+0x3b3/0x850 [ 33.630640][ T504] ? addrconf_fixup_forwarding+0x4d/0x4d0 [ 33.630642][ T504] ? addrconf_sysctl_proxy_ndp+0x2f0/0x2f0 [ 33.630645][ T504] addrconf_fixup_forwarding+0x2af/0x4d0 [ 33.630647][ T504] addrconf_sysctl_forward+0x209/0x2b0 [ 33.630649][ T504] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 33.630651][ T504] ? addrconf_fixup_forwarding+0x4d0/0x4d0 [ 33.630654][ T504] ? __kvmalloc_node_noprof+0x305/0x8a0 [ 33.630657][ T504] ? proc_sys_call_handler+0x25d/0x480 [ 33.630659][ T504] proc_sys_call_handler+0x31b/0x480 [ 33.630661][ T504] ? proc_sys_lookup+0x3d0/0x3d0 [ 33.630663][ T504] ? rcu_read_unlock+0x1b/0x70 [ 33.630666][ T504] ? do_raw_spin_unlock+0x59/0x250 [ 33.630667][ T504] ? rcu_lockdep_current_cpu_online+0x39/0x1b0 [ 33.630669][ T504] ? rcu_read_lock_any_held+0x3c/0x90 [ 33.630671][ T504] ? proc_sys_call_handler+0x480/0x480 [ 33.630673][ T504] new_sync_write+0x333/0x750 [ 33.630675][ T504] ? __lock_acquire+0x508/0xc10 [ 33.630676][ T504] ? new_sync_read+0x740/0x740 [ 33.630678][ T504] ? lock_acquire.part.0+0xbc/0x260 [ 33.630679][ T504] ? ksys_write+0x116/0x250 [ 33.630681][ T504] vfs_write+0x6a4/0xc10 [ 33.630683][ T504] ksys_write+0x116/0x250 [ 33.630685][ T504] ? __ia32_sys_read+0xc0/0xc0 [ 33.630686][ T504] ? rcu_is_watching+0x15/0xd0 [ 33.630688][ T504] ? rcu_is_watching+0x15/0xd0 [ 33.630690][ T504] do_syscall_64+0x117/0x590 [ 33.630691][ T504] ? trace_hardirqs_off+0xd/0x30 [ 33.630694][ T504] ? exc_page_fault+0xee/0x100 [ 33.630696][ T504] entry_SYSCALL_64_after_hwframe+0x4b/0x53 [ 33.630697][ T504] RIP: 0033:0x7fc9c402808e [ 33.630700][ T504] 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 [ 33.630702][ T504] RSP: 002b:00007ffc370f9a60 EFLAGS: 00000202 ORIG_RAX: 0000000000000001 [ 33.630705][ T504] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007fc9c402808e [ 33.630706][ T504] RDX: 0000000000000002 RSI: 000055dccc4dc4b0 RDI: 0000000000000005 [ 33.630707][ T504] RBP: 00007ffc370f9a70 R08: 0000000000000000 R09: 0000000000000000 [ 33.630708][ T504] R10: 0000000000000000 R11: 0000000000000202 R12: 000055dccc4de5e0 [ 33.630709][ T504] R13: 000055dccc4dc470 R14: 0000000000000002 R15: 0000000000000000 [ 33.630711][ T504]