[ 29.151111][ C3] [ 29.151294][ C3] ======================================================== [ 29.151488][ C3] WARNING: possible irq lock inversion dependency detected [ 29.151682][ C3] 6.9.0-rc1-virtme #1 Not tainted [ 29.151817][ C3] -------------------------------------------------------- [ 29.152024][ C3] swapper/3/0 just changed the state of lock: [ 29.152191][ C3] ffff888006886d80 (&ndev->lock){++-.}-{2:2}, at: addrconf_rs_timer+0xa9/0x730 [ 29.152505][ C3] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 29.152774][ C3] (&p->alloc_lock){+.+.}-{2:2} [ 29.152778][ C3] [ 29.152778][ C3] [ 29.152778][ C3] and interrupts could create inverse lock ordering between them. [ 29.152778][ C3] [ 29.153331][ C3] [ 29.153331][ C3] other info that might help us debug this: [ 29.153527][ C3] Possible interrupt unsafe locking scenario: [ 29.153527][ C3] [ 29.153725][ C3] CPU0 CPU1 [ 29.153931][ C3] ---- ---- [ 29.154217][ C3] lock(&p->alloc_lock); [ 29.154319][ C3] local_irq_disable(); [ 29.154480][ C3] lock(&ndev->lock); [ 29.154644][ C3] lock(&p->alloc_lock); [ 29.154812][ C3] [ 29.154909][ C3] lock(&ndev->lock); [ 29.155008][ C3] [ 29.155008][ C3] *** DEADLOCK *** [ 29.155008][ C3] [ 29.155270][ C3] 1 lock held by swapper/3/0: [ 29.155475][ C3] #0: ffffc90000288d68 ((&ndev->rs_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 29.155712][ C3] [ 29.155712][ C3] the shortest dependencies between 2nd lock and 1st lock: [ 29.156010][ C3] -> (&p->alloc_lock){+.+.}-{2:2} { [ 29.156148][ C3] HARDIRQ-ON-W at: [ 29.156249][ C3] __lock_acquire+0x797/0x1570 [ 29.156501][ C3] lock_acquire.part.0+0xeb/0x330 [ 29.156667][ C3] _raw_spin_lock+0x30/0x40 [ 29.156836][ C3] set_mems_allowed+0x1d/0x210 [ 29.157079][ C3] kernel_init_freeable+0x72/0x310 [ 29.157324][ C3] kernel_init+0x20/0x200 [ 29.157491][ C3] ret_from_fork+0x31/0x70 [ 29.157659][ C3] ret_from_fork_asm+0x1a/0x30 [ 29.157906][ C3] SOFTIRQ-ON-W at: [ 29.158007][ C3] __lock_acquire+0x797/0x1570 [ 29.158177][ C3] lock_acquire.part.0+0xeb/0x330 [ 29.158342][ C3] _raw_spin_lock+0x30/0x40 [ 29.158581][ C3] set_mems_allowed+0x1d/0x210 [ 29.158748][ C3] kernel_init_freeable+0x72/0x310 [ 29.158912][ C3] kernel_init+0x20/0x200 [ 29.159077][ C3] ret_from_fork+0x31/0x70 [ 29.159321][ C3] ret_from_fork_asm+0x1a/0x30 [ 29.159486][ C3] INITIAL USE at: [ 29.159585][ C3] __lock_acquire+0x797/0x1570 [ 29.159752][ C3] lock_acquire.part.0+0xeb/0x330 [ 29.159917][ C3] _raw_spin_lock+0x30/0x40 [ 29.160082][ C3] set_mems_allowed+0x1d/0x210 [ 29.160249][ C3] kernel_init_freeable+0x72/0x310 [ 29.160414][ C3] kernel_init+0x20/0x200 [ 29.160581][ C3] ret_from_fork+0x31/0x70 [ 29.160747][ C3] ret_from_fork_asm+0x1a/0x30 [ 29.160913][ C3] } [ 29.160980][ C3] ... key at: [] __key.388+0x0/0x40 [ 29.161175][ C3] ... acquired at: [ 29.161273][ C3] __lock_acquire+0xaf0/0x1570 [ 29.161408][ C3] lock_acquire.part.0+0xeb/0x330 [ 29.161540][ C3] _raw_spin_lock+0x30/0x40 [ 29.161670][ C3] __get_task_comm+0x27/0x70 [ 29.161810][ C3] ref_tracker_alloc+0x2ee/0x490 [ 29.161957][ C3] netdev_get_by_index+0x5e/0x80 [ 29.162090][ C3] fib6_nh_init+0x3d8/0x1580 [ 29.162222][ C3] ip6_route_info_create+0xf18/0x17d0 [ 29.162354][ C3] ip6_route_add+0x1c/0x140 [ 29.162485][ C3] addrconf_prefix_route+0x2a6/0x430 [ 29.162619][ C3] addrconf_permanent_addr+0x32f/0x670 [ 29.162752][ C3] addrconf_notify+0x749/0xd60 [ 29.162885][ C3] notifier_call_chain+0xcd/0x150 [ 29.163021][ C3] __dev_notify_flags+0xe6/0x250 [ 29.163159][ C3] dev_change_flags+0xec/0x160 [ 29.163297][ C3] do_setlink+0x7d6/0x21e0 [ 29.163428][ C3] __rtnl_newlink+0xaa7/0xd80 [ 29.163560][ C3] rtnl_newlink+0x63/0xa0 [ 29.163692][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 29.163822][ C3] netlink_rcv_skb+0x130/0x360 [ 29.163954][ C3] netlink_unicast+0x449/0x710 [ 29.164085][ C3] netlink_sendmsg+0x723/0xbe0 [ 29.164217][ C3] ____sys_sendmsg+0x7b2/0xa10 [ 29.164350][ C3] ___sys_sendmsg+0xee/0x170 [ 29.164480][ C3] __sys_sendmsg+0xcd/0x170 [ 29.164610][ C3] do_syscall_64+0xc6/0x1e0 [ 29.164740][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 29.164905][ C3] [ 29.164971][ C3] -> (&ndev->lock){++-.}-{2:2} { [ 29.165105][ C3] HARDIRQ-ON-W at: [ 29.165205][ C3] __lock_acquire+0x797/0x1570 [ 29.165371][ C3] lock_acquire.part.0+0xeb/0x330 [ 29.165539][ C3] _raw_write_lock_bh+0x38/0x50 [ 29.165704][ C3] addrconf_permanent_addr+0x6e/0x670 [ 29.165867][ C3] addrconf_notify+0x749/0xd60 [ 29.166106][ C3] notifier_call_chain+0xcd/0x150 [ 29.166273][ C3] __dev_notify_flags+0xe6/0x250 [ 29.166440][ C3] dev_change_flags+0xec/0x160 [ 29.166681][ C3] do_setlink+0x7d6/0x21e0 [ 29.166848][ C3] __rtnl_newlink+0xaa7/0xd80 [ 29.167016][ C3] rtnl_newlink+0x63/0xa0 [ 29.167181][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 29.167421][ C3] netlink_rcv_skb+0x130/0x360 [ 29.167585][ C3] netlink_unicast+0x449/0x710 [ 29.167749][ C3] netlink_sendmsg+0x723/0xbe0 [ 29.167989][ C3] ____sys_sendmsg+0x7b2/0xa10 [ 29.168152][ C3] ___sys_sendmsg+0xee/0x170 [ 29.168319][ C3] __sys_sendmsg+0xcd/0x170 [ 29.168485][ C3] do_syscall_64+0xc6/0x1e0 [ 29.168724][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 29.168921][ C3] HARDIRQ-ON-R at: [ 29.169020][ C3] __lock_acquire+0x797/0x1570 [ 29.169260][ C3] lock_acquire.part.0+0xeb/0x330 [ 29.169427][ C3] _raw_read_lock_bh+0x44/0x80 [ 29.169593][ C3] inet6_fill_ifla6_attrs+0x516/0x740 [ 29.169759][ C3] inet6_fill_link_af+0x5e/0xe0 [ 29.169999][ C3] rtnl_fill_ifinfo+0x1615/0x2a90 [ 29.170166][ C3] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 29.170330][ C3] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 29.170603][ C3] rtmsg_ifinfo+0x5b/0xa0 [ 29.170767][ C3] register_netdevice+0x1177/0x1690 [ 29.170934][ C3] register_netdev+0x20/0x40 [ 29.171177][ C3] vti6_init_net+0x25d/0x380 [ 29.171342][ C3] ops_init+0x9b/0x560 [ 29.171473][ C3] register_pernet_operations+0x2db/0x710 [ 29.171668][ C3] register_pernet_device+0x2a/0x60 [ 29.171837][ C3] vti6_tunnel_init+0x18/0x110 [ 29.172014][ C3] do_one_initcall+0x8d/0x1e0 [ 29.172178][ C3] do_initcalls+0x1b2/0x3e0 [ 29.172417][ C3] kernel_init_freeable+0x232/0x310 [ 29.172581][ C3] kernel_init+0x20/0x200 [ 29.172744][ C3] ret_from_fork+0x31/0x70 [ 29.172982][ C3] ret_from_fork_asm+0x1a/0x30 [ 29.173145][ C3] IN-SOFTIRQ-W at: [ 29.173245][ C3] __lock_acquire+0x797/0x1570 [ 29.173408][ C3] lock_acquire.part.0+0xeb/0x330 [ 29.173645][ C3] _raw_write_lock+0x30/0x40 [ 29.173809][ C3] addrconf_rs_timer+0xa9/0x730 [ 29.173973][ C3] call_timer_fn+0x13b/0x230 [ 29.174138][ C3] __run_timers+0x545/0x810 [ 29.174378][ C3] run_timer_softirq+0xe8/0x1b0 [ 29.174542][ C3] __do_softirq+0x1f8/0x5df [ 29.174705][ C3] irq_exit_rcu+0x97/0xc0 [ 29.174868][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 29.175065][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 29.175259][ C3] finish_task_switch.isra.0+0x21d/0x8c0 [ 29.175533][ C3] __schedule+0x6ea/0x1a20 [ 29.175698][ C3] schedule_idle+0x5e/0x90 [ 29.175861][ C3] do_idle+0x122/0x160 [ 29.176148][ C3] cpu_startup_entry+0x54/0x60 [ 29.176312][ C3] start_secondary+0x21c/0x2b0 [ 29.176477][ C3] common_startup_64+0x12c/0x138 [ 29.176641][ C3] INITIAL USE at: [ 29.176742][ C3] __lock_acquire+0x797/0x1570 [ 29.176907][ C3] lock_acquire.part.0+0xeb/0x330 [ 29.177071][ C3] _raw_write_lock_bh+0x38/0x50 [ 29.177236][ C3] addrconf_permanent_addr+0x6e/0x670 [ 29.177475][ C3] addrconf_notify+0x749/0xd60 [ 29.177638][ C3] notifier_call_chain+0xcd/0x150 [ 29.177802][ C3] __dev_notify_flags+0xe6/0x250 [ 29.178043][ C3] dev_change_flags+0xec/0x160 [ 29.178206][ C3] do_setlink+0x7d6/0x21e0 [ 29.178369][ C3] __rtnl_newlink+0xaa7/0xd80 [ 29.178609][ C3] rtnl_newlink+0x63/0xa0 [ 29.178775][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 29.178937][ C3] netlink_rcv_skb+0x130/0x360 [ 29.179103][ C3] netlink_unicast+0x449/0x710 [ 29.179342][ C3] netlink_sendmsg+0x723/0xbe0 [ 29.179506][ C3] ____sys_sendmsg+0x7b2/0xa10 [ 29.179671][ C3] ___sys_sendmsg+0xee/0x170 [ 29.179910][ C3] __sys_sendmsg+0xcd/0x170 [ 29.180078][ C3] do_syscall_64+0xc6/0x1e0 [ 29.180241][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 29.180513][ C3] INITIAL READ USE at: [ 29.180611][ C3] __lock_acquire+0x797/0x1570 [ 29.180774][ C3] lock_acquire.part.0+0xeb/0x330 [ 29.180940][ C3] _raw_read_lock_bh+0x44/0x80 [ 29.181181][ C3] inet6_fill_ifla6_attrs+0x516/0x740 [ 29.181377][ C3] inet6_fill_link_af+0x5e/0xe0 [ 29.181542][ C3] rtnl_fill_ifinfo+0x1615/0x2a90 [ 29.181704][ C3] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 29.181915][ C3] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 29.182109][ C3] rtmsg_ifinfo+0x5b/0xa0 [ 29.182348][ C3] register_netdevice+0x1177/0x1690 [ 29.182544][ C3] register_netdev+0x20/0x40 [ 29.182710][ C3] vti6_init_net+0x25d/0x380 [ 29.182873][ C3] ops_init+0x9b/0x560 [ 29.183109][ C3] register_pernet_operations+0x2db/0x710 [ 29.183303][ C3] register_pernet_device+0x2a/0x60 [ 29.183496][ C3] vti6_tunnel_init+0x18/0x110 [ 29.183735][ C3] do_one_initcall+0x8d/0x1e0 [ 29.183900][ C3] do_initcalls+0x1b2/0x3e0 [ 29.184063][ C3] kernel_init_freeable+0x232/0x310 [ 29.184331][ C3] kernel_init+0x20/0x200 [ 29.184493][ C3] ret_from_fork+0x31/0x70 [ 29.184659][ C3] ret_from_fork_asm+0x1a/0x30 [ 29.184895][ C3] } [ 29.184964][ C3] ... key at: [] __key.37+0x0/0x40 [ 29.185158][ C3] ... acquired at: [ 29.185254][ C3] mark_lock+0x28d/0x3e0 [ 29.185385][ C3] mark_usage+0xd9/0x2a0 [ 29.185593][ C3] __lock_acquire+0x797/0x1570 [ 29.185731][ C3] lock_acquire.part.0+0xeb/0x330 [ 29.185860][ C3] _raw_write_lock+0x30/0x40 [ 29.185990][ C3] addrconf_rs_timer+0xa9/0x730 [ 29.186201][ C3] call_timer_fn+0x13b/0x230 [ 29.186336][ C3] __run_timers+0x545/0x810 [ 29.186468][ C3] run_timer_softirq+0xe8/0x1b0 [ 29.186598][ C3] __do_softirq+0x1f8/0x5df [ 29.186729][ C3] irq_exit_rcu+0x97/0xc0 [ 29.186860][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 29.187021][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 29.187183][ C3] finish_task_switch.isra.0+0x21d/0x8c0 [ 29.187418][ C3] __schedule+0x6ea/0x1a20 [ 29.187551][ C3] schedule_idle+0x5e/0x90 [ 29.187681][ C3] do_idle+0x122/0x160 [ 29.187780][ C3] cpu_startup_entry+0x54/0x60 [ 29.187982][ C3] start_secondary+0x21c/0x2b0 [ 29.188111][ C3] common_startup_64+0x12c/0x138 [ 29.188243][ C3] [ 29.188307][ C3] [ 29.188307][ C3] stack backtrace: [ 29.188465][ C3] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 6.9.0-rc1-virtme #1 [ 29.188732][ C3] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 29.189017][ C3] Call Trace: [ 29.189194][ C3] [ 29.189261][ C3] dump_stack_lvl+0x82/0xd0 [ 29.189393][ C3] print_irq_inversion_bug.part.0+0x3d9/0x570 [ 29.189554][ C3] ? kernel_text_address+0x17/0xe0 [ 29.189687][ C3] ? __pfx_print_irq_inversion_bug.part.0+0x10/0x10 [ 29.189921][ C3] ? __pfx_usage_skip+0x10/0x10 [ 29.190053][ C3] ? __pfx_usage_match+0x10/0x10 [ 29.190184][ C3] ? arch_stack_walk+0x8c/0xf0 [ 29.190317][ C3] mark_lock_irq+0x4cd/0xa10 [ 29.190517][ C3] ? common_startup_64+0x12c/0x138 [ 29.190647][ C3] ? __pfx_mark_lock_irq+0x10/0x10 [ 29.190777][ C3] ? __pfx_stack_trace_save+0x10/0x10 [ 29.190908][ C3] ? save_trace+0x8f/0x5b0 [ 29.191123][ C3] mark_lock+0x28d/0x3e0 [ 29.191221][ C3] ? __pfx_stack_trace_save+0x10/0x10 [ 29.191350][ C3] mark_usage+0xd9/0x2a0 [ 29.191449][ C3] __lock_acquire+0x797/0x1570 [ 29.191579][ C3] ? __pfx_validate_chain+0x10/0x10 [ 29.191709][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 29.191845][ C3] lock_acquire.part.0+0xeb/0x330 [ 29.191975][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 29.192106][ C3] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 29.192310][ C3] ? trace_lock_acquire+0x135/0x1c0 [ 29.192440][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 29.192567][ C3] ? lock_acquire+0x32/0xc0 [ 29.192696][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 29.192899][ C3] _raw_write_lock+0x30/0x40 [ 29.193028][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 29.193155][ C3] addrconf_rs_timer+0xa9/0x730 [ 29.193283][ C3] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 29.193416][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 29.193617][ C3] ? call_timer_fn+0xe8/0x230 [ 29.193748][ C3] ? lock_acquire+0x32/0xc0 [ 29.193876][ C3] ? call_timer_fn+0xe8/0x230 [ 29.194004][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 29.194210][ C3] call_timer_fn+0x13b/0x230 [ 29.194340][ C3] ? call_timer_fn+0xe8/0x230 [ 29.194471][ C3] ? call_timer_fn+0xe8/0x230 [ 29.194604][ C3] ? __pfx_call_timer_fn+0x10/0x10 [ 29.194736][ C3] ? mark_lock+0x38/0x3e0 [ 29.194840][ C3] __run_timers+0x545/0x810 [ 29.194972][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 29.195104][ C3] ? __pfx___run_timers+0x10/0x10 [ 29.195237][ C3] ? do_raw_spin_lock+0x131/0x270 [ 29.195441][ C3] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 29.195572][ C3] ? lock_acquire+0x32/0xc0 [ 29.195701][ C3] ? run_timer_softirq+0xe0/0x1b0 [ 29.195835][ C3] run_timer_softirq+0xe8/0x1b0 [ 29.196117][ C3] __do_softirq+0x1f8/0x5df [ 29.196329][ C3] irq_exit_rcu+0x97/0xc0 [ 29.196428][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 29.196561][ C3] [ 29.196629][ C3] [ 29.196772][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 29.196933][ C3] RIP: 0010:finish_task_switch.isra.0+0x21d/0x8c0 [ 29.197100][ C3] Code: 4c 89 ff 48 c7 03 00 00 00 00 ff d2 0f 1f 00 4d 85 e4 75 ba 4c 89 ff e8 41 0b 91 02 e8 9c fc 2d 00 fb 65 48 8b 1d 63 88 3e 55 <66> 90 48 83 7d d0 00 74 55 65 48 8b 1d 52 88 3e 55 48 8d bb 00 05 [ 29.197678][ C3] RSP: 0018:ffffc9000016fd08 EFLAGS: 00000206 [ 29.197855][ C3] RAX: 000000000006b01d RBX: ffff888001b98040 RCX: 1ffffffff5e322d9 [ 29.198147][ C3] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffaac54154 [ 29.198366][ C3] RBP: ffffc9000016fd48 R08: 0000000000000001 R09: fffffbfff5e32b5a [ 29.198566][ C3] R10: ffffffffaf195ad7 R11: ffff8880361bde40 R12: ffff8880361bdc98 [ 29.198764][ C3] R13: ffff8880058d8040 R14: ffff8880361bdc80 R15: ffff8880361bdc80 [ 29.199043][ C3] ? finish_task_switch.isra.0+0x214/0x8c0 [ 29.199207][ C3] ? finish_task_switch.isra.0+0x214/0x8c0 [ 29.199445][ C3] ? __switch_to+0x5ce/0xe50 [ 29.199587][ C3] __schedule+0x6ea/0x1a20 [ 29.199721][ C3] ? __pfx___schedule+0x10/0x10 [ 29.199850][ C3] ? trace_rcu_dyntick+0x112/0x180 [ 29.200129][ C3] ? lockdep_hardirqs_on_prepare.part.0+0x1af/0x370 [ 29.200294][ C3] schedule_idle+0x5e/0x90 [ 29.200426][ C3] do_idle+0x122/0x160 [ 29.200525][ C3] cpu_startup_entry+0x54/0x60 [ 29.200655][ C3] start_secondary+0x21c/0x2b0 [ 29.200786][ C3] ? __pfx_start_secondary+0x10/0x10 [ 29.200916][ C3] common_startup_64+0x12c/0x138 [ 29.201048][ C3]