[ 25.530535][ T274] ip (274) used greatest stack depth: 23488 bytes left [ 31.528651][ C3] [ 31.528757][ C3] ======================================================== [ 31.528981][ C3] WARNING: possible irq lock inversion dependency detected [ 31.529198][ C3] 6.9.0-rc1-virtme #1 Not tainted [ 31.529342][ C3] -------------------------------------------------------- [ 31.529567][ C3] swapper/3/0 just changed the state of lock: [ 31.529754][ C3] ffff888005246d80 (&ndev->lock){++-.}-{2:2}, at: addrconf_rs_timer+0xa9/0x730 [ 31.530021][ C3] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 31.530237][ C3] (&p->alloc_lock){+.+.}-{2:2} [ 31.530241][ C3] [ 31.530241][ C3] [ 31.530241][ C3] and interrupts could create inverse lock ordering between them. [ 31.530241][ C3] [ 31.530775][ C3] [ 31.530775][ C3] other info that might help us debug this: [ 31.530997][ C3] Possible interrupt unsafe locking scenario: [ 31.530997][ C3] [ 31.531216][ C3] CPU0 CPU1 [ 31.531367][ C3] ---- ---- [ 31.531510][ C3] lock(&p->alloc_lock); [ 31.531624][ C3] local_irq_disable(); [ 31.531803][ C3] lock(&ndev->lock); [ 31.531983][ C3] lock(&p->alloc_lock); [ 31.532178][ C3] [ 31.532290][ C3] lock(&ndev->lock); [ 31.532413][ C3] [ 31.532413][ C3] *** DEADLOCK *** [ 31.532413][ C3] [ 31.532652][ C3] 1 lock held by swapper/3/0: [ 31.532804][ C3] #0: ffffc90000288d68 ((&ndev->rs_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 31.533069][ C3] [ 31.533069][ C3] the shortest dependencies between 2nd lock and 1st lock: [ 31.533320][ C3] -> (&p->alloc_lock){+.+.}-{2:2} { [ 31.533475][ C3] HARDIRQ-ON-W at: [ 31.533591][ C3] __lock_acquire+0x797/0x1570 [ 31.533787][ C3] lock_acquire.part.0+0xeb/0x330 [ 31.533972][ C3] _raw_spin_lock+0x30/0x40 [ 31.534157][ C3] set_mems_allowed+0x1d/0x210 [ 31.534354][ C3] kernel_init_freeable+0x72/0x310 [ 31.534543][ C3] kernel_init+0x20/0x200 [ 31.534740][ C3] ret_from_fork+0x31/0x70 [ 31.535019][ C3] ret_from_fork_asm+0x1a/0x30 [ 31.535226][ C3] SOFTIRQ-ON-W at: [ 31.535338][ C3] __lock_acquire+0x797/0x1570 [ 31.535525][ C3] lock_acquire.part.0+0xeb/0x330 [ 31.535794][ C3] _raw_spin_lock+0x30/0x40 [ 31.536010][ C3] set_mems_allowed+0x1d/0x210 [ 31.536197][ C3] kernel_init_freeable+0x72/0x310 [ 31.536456][ C3] kernel_init+0x20/0x200 [ 31.536648][ C3] ret_from_fork+0x31/0x70 [ 31.536916][ C3] ret_from_fork_asm+0x1a/0x30 [ 31.537104][ C3] INITIAL USE at: [ 31.537216][ C3] __lock_acquire+0x797/0x1570 [ 31.537483][ C3] lock_acquire.part.0+0xeb/0x330 [ 31.537679][ C3] _raw_spin_lock+0x30/0x40 [ 31.537865][ C3] set_mems_allowed+0x1d/0x210 [ 31.538197][ C3] kernel_init_freeable+0x72/0x310 [ 31.538378][ C3] kernel_init+0x20/0x200 [ 31.538567][ C3] ret_from_fork+0x31/0x70 [ 31.538835][ C3] ret_from_fork_asm+0x1a/0x30 [ 31.539021][ C3] } [ 31.539095][ C3] ... key at: [] __key.388+0x0/0x40 [ 31.539393][ C3] ... acquired at: [ 31.539501][ C3] __lock_acquire+0xaf0/0x1570 [ 31.539654][ C3] lock_acquire.part.0+0xeb/0x330 [ 31.539799][ C3] _raw_spin_lock+0x30/0x40 [ 31.539953][ C3] __get_task_comm+0x27/0x70 [ 31.540176][ C3] ref_tracker_alloc+0x2ee/0x490 [ 31.540325][ C3] netdev_get_by_index+0x5e/0x80 [ 31.540480][ C3] fib6_nh_init+0x3d8/0x1580 [ 31.540630][ C3] ip6_route_info_create+0xf18/0x17d0 [ 31.540852][ C3] ip6_route_add+0x1c/0x140 [ 31.541002][ C3] addrconf_prefix_route+0x2a6/0x430 [ 31.541231][ C3] addrconf_permanent_addr+0x32f/0x670 [ 31.541374][ C3] addrconf_notify+0x749/0xd60 [ 31.541519][ C3] notifier_call_chain+0xcd/0x150 [ 31.541673][ C3] __dev_notify_flags+0xe6/0x250 [ 31.541898][ C3] dev_change_flags+0xec/0x160 [ 31.542042][ C3] do_setlink+0x7d6/0x21e0 [ 31.542206][ C3] __rtnl_newlink+0xaa7/0xd80 [ 31.542350][ C3] rtnl_newlink+0x63/0xa0 [ 31.542495][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 31.542660][ C3] netlink_rcv_skb+0x130/0x360 [ 31.542813][ C3] netlink_unicast+0x449/0x710 [ 31.543040][ C3] netlink_sendmsg+0x723/0xbe0 [ 31.543262][ C3] ____sys_sendmsg+0x7b2/0xa10 [ 31.543412][ C3] ___sys_sendmsg+0xee/0x170 [ 31.543558][ C3] __sys_sendmsg+0xcd/0x170 [ 31.543859][ C3] do_syscall_64+0xc6/0x1e0 [ 31.544018][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 31.544197][ C3] [ 31.544273][ C3] -> (&ndev->lock){++-.}-{2:2} { [ 31.544428][ C3] HARDIRQ-ON-W at: [ 31.544621][ C3] __lock_acquire+0x797/0x1570 [ 31.544807][ C3] lock_acquire.part.0+0xeb/0x330 [ 31.544993][ C3] _raw_write_lock_bh+0x38/0x50 [ 31.545185][ C3] addrconf_permanent_addr+0x6e/0x670 [ 31.545451][ C3] addrconf_notify+0x749/0xd60 [ 31.545641][ C3] notifier_call_chain+0xcd/0x150 [ 31.545831][ C3] __dev_notify_flags+0xe6/0x250 [ 31.546101][ C3] dev_change_flags+0xec/0x160 [ 31.546286][ C3] do_setlink+0x7d6/0x21e0 [ 31.546472][ C3] __rtnl_newlink+0xaa7/0xd80 [ 31.546728][ C3] rtnl_newlink+0x63/0xa0 [ 31.546912][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 31.547096][ C3] netlink_rcv_skb+0x130/0x360 [ 31.547278][ C3] netlink_unicast+0x449/0x710 [ 31.547540][ C3] netlink_sendmsg+0x723/0xbe0 [ 31.547727][ C3] ____sys_sendmsg+0x7b2/0xa10 [ 31.547912][ C3] ___sys_sendmsg+0xee/0x170 [ 31.548170][ C3] __sys_sendmsg+0xcd/0x170 [ 31.548362][ C3] do_syscall_64+0xc6/0x1e0 [ 31.548560][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 31.548874][ C3] HARDIRQ-ON-R at: [ 31.548988][ C3] __lock_acquire+0x797/0x1570 [ 31.549172][ C3] lock_acquire.part.0+0xeb/0x330 [ 31.549356][ C3] _raw_read_lock_bh+0x44/0x80 [ 31.549619][ C3] inet6_fill_ifla6_attrs+0x516/0x740 [ 31.549820][ C3] inet6_fill_link_af+0x5e/0xe0 [ 31.550005][ C3] rtnl_fill_ifinfo+0x1615/0x2a90 [ 31.550204][ C3] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 31.550463][ C3] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 31.550685][ C3] rtmsg_ifinfo+0x5b/0xa0 [ 31.550877][ C3] register_netdevice+0x1177/0x1690 [ 31.551138][ C3] register_netdev+0x20/0x40 [ 31.551322][ C3] vti6_init_net+0x25d/0x380 [ 31.551506][ C3] ops_init+0x9b/0x560 [ 31.551734][ C3] register_pernet_operations+0x2db/0x710 [ 31.551951][ C3] register_pernet_device+0x2a/0x60 [ 31.552227][ C3] vti6_tunnel_init+0x18/0x110 [ 31.552413][ C3] do_one_initcall+0x8d/0x1e0 [ 31.552618][ C3] do_initcalls+0x1b2/0x3e0 [ 31.552902][ C3] kernel_init_freeable+0x232/0x310 [ 31.553084][ C3] kernel_init+0x20/0x200 [ 31.553270][ C3] ret_from_fork+0x31/0x70 [ 31.553458][ C3] ret_from_fork_asm+0x1a/0x30 [ 31.553727][ C3] IN-SOFTIRQ-W at: [ 31.553844][ C3] __lock_acquire+0x797/0x1570 [ 31.554028][ C3] lock_acquire.part.0+0xeb/0x330 [ 31.554295][ C3] _raw_write_lock+0x30/0x40 [ 31.554477][ C3] addrconf_rs_timer+0xa9/0x730 [ 31.554746][ C3] call_timer_fn+0x13b/0x230 [ 31.554933][ C3] __run_timers+0x545/0x810 [ 31.555122][ C3] run_timer_softirq+0xe8/0x1b0 [ 31.555313][ C3] __do_softirq+0x1f8/0x5df [ 31.555659][ C3] irq_exit_rcu+0x97/0xc0 [ 31.555843][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 31.556072][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 31.556302][ C3] default_idle+0xf/0x20 [ 31.556488][ C3] default_idle_call+0x6d/0xb0 [ 31.556683][ C3] cpuidle_idle_call+0x1f4/0x280 [ 31.556947][ C3] do_idle+0xf9/0x160 [ 31.557095][ C3] cpu_startup_entry+0x54/0x60 [ 31.557281][ C3] start_secondary+0x21c/0x2b0 [ 31.557486][ C3] common_startup_64+0x12c/0x138 [ 31.557750][ C3] INITIAL USE at: [ 31.557860][ C3] __lock_acquire+0x797/0x1570 [ 31.558121][ C3] lock_acquire.part.0+0xeb/0x330 [ 31.558305][ C3] _raw_write_lock_bh+0x38/0x50 [ 31.558491][ C3] addrconf_permanent_addr+0x6e/0x670 [ 31.558770][ C3] addrconf_notify+0x749/0xd60 [ 31.558951][ C3] notifier_call_chain+0xcd/0x150 [ 31.559135][ C3] __dev_notify_flags+0xe6/0x250 [ 31.559321][ C3] dev_change_flags+0xec/0x160 [ 31.559510][ C3] do_setlink+0x7d6/0x21e0 [ 31.559777][ C3] __rtnl_newlink+0xaa7/0xd80 [ 31.559968][ C3] rtnl_newlink+0x63/0xa0 [ 31.560227][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 31.560411][ C3] netlink_rcv_skb+0x130/0x360 [ 31.560599][ C3] netlink_unicast+0x449/0x710 [ 31.560783][ C3] netlink_sendmsg+0x723/0xbe0 [ 31.561052][ C3] ____sys_sendmsg+0x7b2/0xa10 [ 31.561234][ C3] ___sys_sendmsg+0xee/0x170 [ 31.561420][ C3] __sys_sendmsg+0xcd/0x170 [ 31.561692][ C3] do_syscall_64+0xc6/0x1e0 [ 31.561898][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 31.562122][ C3] INITIAL READ USE at: [ 31.562237][ C3] __lock_acquire+0x797/0x1570 [ 31.562505][ C3] lock_acquire.part.0+0xeb/0x330 [ 31.562713][ C3] _raw_read_lock_bh+0x44/0x80 [ 31.562901][ C3] inet6_fill_ifla6_attrs+0x516/0x740 [ 31.563203][ C3] inet6_fill_link_af+0x5e/0xe0 [ 31.563383][ C3] rtnl_fill_ifinfo+0x1615/0x2a90 [ 31.563577][ C3] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 31.563878][ C3] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 31.564097][ C3] rtmsg_ifinfo+0x5b/0xa0 [ 31.564305][ C3] register_netdevice+0x1177/0x1690 [ 31.564600][ C3] register_netdev+0x20/0x40 [ 31.564798][ C3] vti6_init_net+0x25d/0x380 [ 31.564983][ C3] ops_init+0x9b/0x560 [ 31.565164][ C3] register_pernet_operations+0x2db/0x710 [ 31.565454][ C3] register_pernet_device+0x2a/0x60 [ 31.565695][ C3] vti6_tunnel_init+0x18/0x110 [ 31.565872][ C3] do_one_initcall+0x8d/0x1e0 [ 31.566058][ C3] do_initcalls+0x1b2/0x3e0 [ 31.566315][ C3] kernel_init_freeable+0x232/0x310 [ 31.566533][ C3] kernel_init+0x20/0x200 [ 31.566739][ C3] ret_from_fork+0x31/0x70 [ 31.567000][ C3] ret_from_fork_asm+0x1a/0x30 [ 31.567187][ C3] } [ 31.567261][ C3] ... key at: [] __key.37+0x0/0x40 [ 31.567485][ C3] ... acquired at: [ 31.567668][ C3] mark_lock+0x28d/0x3e0 [ 31.567815][ C3] mark_usage+0xd9/0x2a0 [ 31.567962][ C3] __lock_acquire+0x797/0x1570 [ 31.568116][ C3] lock_acquire.part.0+0xeb/0x330 [ 31.568263][ C3] _raw_write_lock+0x30/0x40 [ 31.568414][ C3] addrconf_rs_timer+0xa9/0x730 [ 31.568559][ C3] call_timer_fn+0x13b/0x230 [ 31.568710][ C3] __run_timers+0x545/0x810 [ 31.568854][ C3] run_timer_softirq+0xe8/0x1b0 [ 31.569074][ C3] __do_softirq+0x1f8/0x5df [ 31.569221][ C3] irq_exit_rcu+0x97/0xc0 [ 31.569371][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 31.569553][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 31.569815][ C3] default_idle+0xf/0x20 [ 31.569962][ C3] default_idle_call+0x6d/0xb0 [ 31.570112][ C3] cpuidle_idle_call+0x1f4/0x280 [ 31.570258][ C3] do_idle+0xf9/0x160 [ 31.570372][ C3] cpu_startup_entry+0x54/0x60 [ 31.570517][ C3] start_secondary+0x21c/0x2b0 [ 31.570667][ C3] common_startup_64+0x12c/0x138 [ 31.570812][ C3] [ 31.570885][ C3] [ 31.570885][ C3] stack backtrace: [ 31.571138][ C3] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 6.9.0-rc1-virtme #1 [ 31.571370][ C3] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 31.571780][ C3] Call Trace: [ 31.571897][ C3] [ 31.571985][ C3] dump_stack_lvl+0x82/0xd0 [ 31.572140][ C3] print_irq_inversion_bug.part.0+0x3d9/0x570 [ 31.572330][ C3] ? kernel_text_address+0x17/0xe0 [ 31.572576][ C3] ? __pfx_print_irq_inversion_bug.part.0+0x10/0x10 [ 31.572772][ C3] ? __pfx_usage_skip+0x10/0x10 [ 31.572920][ C3] ? __pfx_usage_match+0x10/0x10 [ 31.573150][ C3] ? arch_stack_walk+0x8c/0xf0 [ 31.573299][ C3] mark_lock_irq+0x4cd/0xa10 [ 31.573444][ C3] ? common_startup_64+0x12c/0x138 [ 31.573590][ C3] ? __pfx_mark_lock_irq+0x10/0x10 [ 31.573746][ C3] ? __pfx_stack_trace_save+0x10/0x10 [ 31.573975][ C3] ? save_trace+0x8f/0x5b0 [ 31.574120][ C3] mark_lock+0x28d/0x3e0 [ 31.574225][ C3] ? __pfx_stack_trace_save+0x10/0x10 [ 31.574373][ C3] mark_usage+0xd9/0x2a0 [ 31.574485][ C3] __lock_acquire+0x797/0x1570 [ 31.574712][ C3] ? __pfx_validate_chain+0x10/0x10 [ 31.574861][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 31.575010][ C3] lock_acquire.part.0+0xeb/0x330 [ 31.575159][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 31.575382][ C3] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 31.575529][ C3] ? trace_lock_acquire+0x135/0x1c0 [ 31.575774][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 31.575927][ C3] ? lock_acquire+0x32/0xc0 [ 31.576072][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 31.576234][ C3] _raw_write_lock+0x30/0x40 [ 31.576383][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 31.576612][ C3] addrconf_rs_timer+0xa9/0x730 [ 31.576759][ C3] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 31.576909][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 31.577060][ C3] ? call_timer_fn+0xe8/0x230 [ 31.577204][ C3] ? lock_acquire+0x32/0xc0 [ 31.577429][ C3] ? call_timer_fn+0xe8/0x230 [ 31.577652][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 31.577797][ C3] call_timer_fn+0x13b/0x230 [ 31.577952][ C3] ? call_timer_fn+0xe8/0x230 [ 31.578102][ C3] ? call_timer_fn+0xe8/0x230 [ 31.578255][ C3] ? __pfx_call_timer_fn+0x10/0x10 [ 31.578484][ C3] ? mark_lock+0x38/0x3e0 [ 31.578603][ C3] __run_timers+0x545/0x810 [ 31.578751][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 31.578912][ C3] ? __pfx___run_timers+0x10/0x10 [ 31.579063][ C3] ? do_raw_spin_lock+0x131/0x270 [ 31.579218][ C3] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 31.579442][ C3] ? lock_acquire+0x32/0xc0 [ 31.579595][ C3] ? run_timer_softirq+0xe0/0x1b0 [ 31.579816][ C3] run_timer_softirq+0xe8/0x1b0 [ 31.579961][ C3] __do_softirq+0x1f8/0x5df [ 31.580110][ C3] irq_exit_rcu+0x97/0xc0 [ 31.580224][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 31.580458][ C3] [ 31.580535][ C3] [ 31.580617][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 31.580799][ C3] RIP: 0010:default_idle+0xf/0x20 [ 31.580947][ C3] Code: 4c 01 c7 4c 29 c2 e9 72 ff ff ff 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 f3 0f 1e fa 66 90 0f 00 2d d3 eb 32 00 fb f4 c3 cc cc cc cc 66 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 [ 31.581557][ C3] RSP: 0018:ffffc9000016fdf8 EFLAGS: 00000242 [ 31.581749][ C3] RAX: 000000000007479d RBX: 1ffff9200002dfc1 RCX: ffffffffa0532ea5 [ 31.582044][ C3] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff9dcac1d4 [ 31.582256][ C3] RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed1006c3709c [ 31.582554][ C3] R10: ffff8880361b84e3 R11: ffff8880361bde40 R12: 0000000000000000 [ 31.582880][ C3] R13: ffff888001b98040 R14: dffffc0000000000 R15: 0000000000000000 [ 31.583104][ C3] ? ct_kernel_exit.constprop.0+0xc5/0xf0 [ 31.583259][ C3] ? cpuidle_idle_call+0x1f4/0x280 [ 31.583490][ C3] default_idle_call+0x6d/0xb0 [ 31.583640][ C3] cpuidle_idle_call+0x1f4/0x280 [ 31.583797][ C3] ? __pfx_cpuidle_idle_call+0x10/0x10 [ 31.583942][ C3] ? tsc_verify_tsc_adjust+0x5e/0x2b0 [ 31.584170][ C3] do_idle+0xf9/0x160 [ 31.584281][ C3] cpu_startup_entry+0x54/0x60 [ 31.584434][ C3] start_secondary+0x21c/0x2b0 [ 31.584584][ C3] ? __pfx_start_secondary+0x10/0x10 [ 31.584819][ C3] common_startup_64+0x12c/0x138 [ 31.584972][ C3]