[ 25.873297][ T258] ip (258) used greatest stack depth: 23520 bytes left [ 36.523267][ C3] [ 36.523375][ C3] ======================================================== [ 36.523578][ C3] WARNING: possible irq lock inversion dependency detected [ 36.523778][ C3] 6.9.0-rc1-virtme #1 Not tainted [ 36.523924][ C3] -------------------------------------------------------- [ 36.524129][ C3] swapper/3/0 just changed the state of lock: [ 36.524314][ C3] ffff8880057ba580 (&ndev->lock){++-.}-{2:2}, at: addrconf_rs_timer+0xa9/0x730 [ 36.524556][ C3] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 36.524768][ C3] (&p->alloc_lock){+.+.}-{2:2} [ 36.524773][ C3] [ 36.524773][ C3] [ 36.524773][ C3] and interrupts could create inverse lock ordering between them. [ 36.524773][ C3] [ 36.525293][ C3] [ 36.525293][ C3] other info that might help us debug this: [ 36.525488][ C3] Possible interrupt unsafe locking scenario: [ 36.525488][ C3] [ 36.525731][ C3] CPU0 CPU1 [ 36.525878][ C3] ---- ---- [ 36.526033][ C3] lock(&p->alloc_lock); [ 36.526145][ C3] local_irq_disable(); [ 36.526322][ C3] lock(&ndev->lock); [ 36.526511][ C3] lock(&p->alloc_lock); [ 36.526690][ C3] [ 36.526800][ C3] lock(&ndev->lock); [ 36.526916][ C3] [ 36.526916][ C3] *** DEADLOCK *** [ 36.526916][ C3] [ 36.527136][ C3] 1 lock held by swapper/3/0: [ 36.527298][ C3] #0: ffffc90000288d68 ((&ndev->rs_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 36.527565][ C3] [ 36.527565][ C3] the shortest dependencies between 2nd lock and 1st lock: [ 36.527817][ C3] -> (&p->alloc_lock){+.+.}-{2:2} { [ 36.527981][ C3] HARDIRQ-ON-W at: [ 36.528094][ C3] __lock_acquire+0x797/0x1570 [ 36.528281][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.528463][ C3] _raw_spin_lock+0x30/0x40 [ 36.528649][ C3] set_mems_allowed+0x1d/0x210 [ 36.528833][ C3] kernel_init_freeable+0x72/0x310 [ 36.529026][ C3] kernel_init+0x20/0x200 [ 36.529224][ C3] ret_from_fork+0x31/0x70 [ 36.529412][ C3] ret_from_fork_asm+0x1a/0x30 [ 36.529596][ C3] SOFTIRQ-ON-W at: [ 36.529706][ C3] __lock_acquire+0x797/0x1570 [ 36.529888][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.530167][ C3] _raw_spin_lock+0x30/0x40 [ 36.530461][ C3] set_mems_allowed+0x1d/0x210 [ 36.530730][ C3] kernel_init_freeable+0x72/0x310 [ 36.530916][ C3] kernel_init+0x20/0x200 [ 36.531121][ C3] ret_from_fork+0x31/0x70 [ 36.531323][ C3] ret_from_fork_asm+0x1a/0x30 [ 36.531520][ C3] INITIAL USE at: [ 36.531635][ C3] __lock_acquire+0x797/0x1570 [ 36.531835][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.532044][ C3] _raw_spin_lock+0x30/0x40 [ 36.532238][ C3] set_mems_allowed+0x1d/0x210 [ 36.532438][ C3] kernel_init_freeable+0x72/0x310 [ 36.532655][ C3] kernel_init+0x20/0x200 [ 36.532867][ C3] ret_from_fork+0x31/0x70 [ 36.533078][ C3] ret_from_fork_asm+0x1a/0x30 [ 36.533279][ C3] } [ 36.533369][ C3] ... key at: [] __key.387+0x0/0x40 [ 36.533691][ C3] ... acquired at: [ 36.533803][ C3] __lock_acquire+0xaf0/0x1570 [ 36.533968][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.534125][ C3] _raw_spin_lock+0x30/0x40 [ 36.534281][ C3] __get_task_comm+0x27/0x70 [ 36.534529][ C3] ref_tracker_alloc+0x2ee/0x490 [ 36.534682][ C3] netdev_get_by_index+0x5e/0x80 [ 36.534846][ C3] fib6_nh_init+0x3d8/0x15b0 [ 36.535020][ C3] ip6_route_info_create+0xf18/0x17d0 [ 36.535280][ C3] addrconf_f6i_alloc+0x265/0x560 [ 36.535429][ C3] __ipv6_dev_ac_inc+0x25f/0xb10 [ 36.535585][ C3] addrconf_join_anycast+0x1c0/0x220 [ 36.535747][ C3] dev_forward_change+0x2a6/0x7b0 [ 36.535895][ C3] addrconf_fixup_forwarding+0x23f/0x460 [ 36.536181][ C3] addrconf_sysctl_forward+0x212/0x2b0 [ 36.536338][ C3] proc_sys_call_handler+0x403/0x5e0 [ 36.536496][ C3] vfs_write+0x9e5/0x10a0 [ 36.536654][ C3] ksys_write+0xf5/0x1e0 [ 36.536891][ C3] do_syscall_64+0xc6/0x1e0 [ 36.537062][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 36.537251][ C3] [ 36.537335][ C3] -> (&ndev->lock){++-.}-{2:2} { [ 36.537486][ C3] HARDIRQ-ON-W at: [ 36.537611][ C3] __lock_acquire+0x797/0x1570 [ 36.537886][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.538213][ C3] _raw_write_lock_bh+0x38/0x50 [ 36.538398][ C3] addrconf_permanent_addr+0x6e/0x670 [ 36.538663][ C3] addrconf_notify+0x749/0xd60 [ 36.538850][ C3] notifier_call_chain+0xcd/0x150 [ 36.539045][ C3] __dev_notify_flags+0xe6/0x250 [ 36.539234][ C3] dev_change_flags+0xec/0x160 [ 36.539511][ C3] do_setlink+0x7d6/0x21e0 [ 36.539704][ C3] __rtnl_newlink+0xaa7/0xd80 [ 36.539889][ C3] rtnl_newlink+0x63/0xa0 [ 36.540180][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 36.540439][ C3] netlink_rcv_skb+0x130/0x360 [ 36.540634][ C3] netlink_unicast+0x449/0x710 [ 36.540913][ C3] netlink_sendmsg+0x723/0xbe0 [ 36.541173][ C3] ____sys_sendmsg+0x7b2/0xa10 [ 36.541355][ C3] ___sys_sendmsg+0xee/0x170 [ 36.541618][ C3] __sys_sendmsg+0xcd/0x170 [ 36.541802][ C3] do_syscall_64+0xc6/0x1e0 [ 36.541985][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 36.542211][ C3] HARDIRQ-ON-R at: [ 36.542320][ C3] __lock_acquire+0x797/0x1570 [ 36.542576][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.542743][ C3] _raw_read_lock_bh+0x44/0x80 [ 36.542919][ C3] inet6_fill_ifla6_attrs+0x516/0x740 [ 36.543092][ C3] inet6_fill_link_af+0x5e/0xe0 [ 36.543367][ C3] rtnl_fill_ifinfo+0x1612/0x29e0 [ 36.543540][ C3] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 36.543707][ C3] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 36.543919][ C3] rtmsg_ifinfo+0x5b/0xa0 [ 36.544095][ C3] register_netdevice+0x1177/0x1690 [ 36.544281][ C3] register_netdev+0x20/0x40 [ 36.544462][ C3] sit_init_net+0x250/0x4f0 [ 36.544645][ C3] ops_init+0x9b/0x560 [ 36.544792][ C3] register_pernet_operations+0x2db/0x710 [ 36.545028][ C3] register_pernet_device+0x2a/0x60 [ 36.545277][ C3] sit_init+0x23/0xe0 [ 36.545415][ C3] do_one_initcall+0x8d/0x1e0 [ 36.545582][ C3] do_initcalls+0x1b2/0x3e0 [ 36.545907][ C3] kernel_init_freeable+0x232/0x310 [ 36.546099][ C3] kernel_init+0x20/0x200 [ 36.546274][ C3] ret_from_fork+0x31/0x70 [ 36.546460][ C3] ret_from_fork_asm+0x1a/0x30 [ 36.546726][ C3] IN-SOFTIRQ-W at: [ 36.546926][ C3] __lock_acquire+0x797/0x1570 [ 36.547120][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.547307][ C3] _raw_write_lock+0x30/0x40 [ 36.547495][ C3] addrconf_rs_timer+0xa9/0x730 [ 36.547759][ C3] call_timer_fn+0x13b/0x230 [ 36.547953][ C3] __run_timers+0x545/0x810 [ 36.548152][ C3] run_timer_softirq+0xe8/0x1b0 [ 36.548408][ C3] __do_softirq+0x1f8/0x5df [ 36.548588][ C3] irq_exit_rcu+0x97/0xc0 [ 36.548773][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 36.549002][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 36.549314][ C3] default_idle+0xf/0x20 [ 36.549494][ C3] default_idle_call+0x6d/0xb0 [ 36.549681][ C3] cpuidle_idle_call+0x1f4/0x280 [ 36.549942][ C3] do_idle+0xf9/0x160 [ 36.550092][ C3] cpu_startup_entry+0x54/0x60 [ 36.550387][ C3] start_secondary+0x21c/0x2b0 [ 36.550577][ C3] common_startup_64+0x12c/0x138 [ 36.550745][ C3] INITIAL USE at: [ 36.550856][ C3] __lock_acquire+0x797/0x1570 [ 36.551044][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.551236][ C3] _raw_write_lock_bh+0x38/0x50 [ 36.551423][ C3] addrconf_permanent_addr+0x6e/0x670 [ 36.551595][ C3] addrconf_notify+0x749/0xd60 [ 36.551862][ C3] notifier_call_chain+0xcd/0x150 [ 36.552052][ C3] __dev_notify_flags+0xe6/0x250 [ 36.552236][ C3] dev_change_flags+0xec/0x160 [ 36.552497][ C3] do_setlink+0x7d6/0x21e0 [ 36.552680][ C3] __rtnl_newlink+0xaa7/0xd80 [ 36.552850][ C3] rtnl_newlink+0x63/0xa0 [ 36.553125][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 36.553299][ C3] netlink_rcv_skb+0x130/0x360 [ 36.553472][ C3] netlink_unicast+0x449/0x710 [ 36.553729][ C3] netlink_sendmsg+0x723/0xbe0 [ 36.553998][ C3] ____sys_sendmsg+0x7b2/0xa10 [ 36.554171][ C3] ___sys_sendmsg+0xee/0x170 [ 36.554343][ C3] __sys_sendmsg+0xcd/0x170 [ 36.554520][ C3] do_syscall_64+0xc6/0x1e0 [ 36.554777][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 36.555026][ C3] INITIAL READ USE at: [ 36.555237][ C3] __lock_acquire+0x797/0x1570 [ 36.555410][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.555591][ C3] _raw_read_lock_bh+0x44/0x80 [ 36.555771][ C3] inet6_fill_ifla6_attrs+0x516/0x740 [ 36.555986][ C3] inet6_fill_link_af+0x5e/0xe0 [ 36.556176][ C3] rtnl_fill_ifinfo+0x1612/0x29e0 [ 36.556354][ C3] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 36.556663][ C3] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 36.556899][ C3] rtmsg_ifinfo+0x5b/0xa0 [ 36.557099][ C3] register_netdevice+0x1177/0x1690 [ 36.557426][ C3] register_netdev+0x20/0x40 [ 36.557601][ C3] sit_init_net+0x250/0x4f0 [ 36.557785][ C3] ops_init+0x9b/0x560 [ 36.558062][ C3] register_pernet_operations+0x2db/0x710 [ 36.558360][ C3] register_pernet_device+0x2a/0x60 [ 36.558555][ C3] sit_init+0x23/0xe0 [ 36.558739][ C3] do_one_initcall+0x8d/0x1e0 [ 36.558999][ C3] do_initcalls+0x1b2/0x3e0 [ 36.559195][ C3] kernel_init_freeable+0x232/0x310 [ 36.559418][ C3] kernel_init+0x20/0x200 [ 36.559592][ C3] ret_from_fork+0x31/0x70 [ 36.559762][ C3] ret_from_fork_asm+0x1a/0x30 [ 36.559952][ C3] } [ 36.560097][ C3] ... key at: [] __key.37+0x0/0x40 [ 36.560319][ C3] ... acquired at: [ 36.560424][ C3] mark_lock+0x28d/0x3e0 [ 36.560572][ C3] mark_usage+0xd9/0x2a0 [ 36.560782][ C3] __lock_acquire+0x797/0x1570 [ 36.560931][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.561069][ C3] _raw_write_lock+0x30/0x40 [ 36.561204][ C3] addrconf_rs_timer+0xa9/0x730 [ 36.561345][ C3] call_timer_fn+0x13b/0x230 [ 36.561565][ C3] __run_timers+0x545/0x810 [ 36.561700][ C3] run_timer_softirq+0xe8/0x1b0 [ 36.561834][ C3] __do_softirq+0x1f8/0x5df [ 36.561999][ C3] irq_exit_rcu+0x97/0xc0 [ 36.562209][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 36.562379][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 36.562563][ C3] default_idle+0xf/0x20 [ 36.562699][ C3] default_idle_call+0x6d/0xb0 [ 36.562914][ C3] cpuidle_idle_call+0x1f4/0x280 [ 36.563054][ C3] do_idle+0xf9/0x160 [ 36.563160][ C3] cpu_startup_entry+0x54/0x60 [ 36.563304][ C3] start_secondary+0x21c/0x2b0 [ 36.563513][ C3] common_startup_64+0x12c/0x138 [ 36.563738][ C3] [ 36.563809][ C3] [ 36.563809][ C3] stack backtrace: [ 36.563985][ C3] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 6.9.0-rc1-virtme #1 [ 36.564270][ C3] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 36.564572][ C3] Call Trace: [ 36.564675][ C3] [ 36.564750][ C3] dump_stack_lvl+0x82/0xd0 [ 36.564969][ C3] print_irq_inversion_bug.part.0+0x3d9/0x570 [ 36.565143][ C3] ? kernel_text_address+0x17/0xe0 [ 36.565283][ C3] ? __pfx_print_irq_inversion_bug.part.0+0x10/0x10 [ 36.565458][ C3] ? __pfx_usage_skip+0x10/0x10 [ 36.565608][ C3] ? __pfx_usage_match+0x10/0x10 [ 36.565820][ C3] ? arch_stack_walk+0x8c/0xf0 [ 36.565960][ C3] mark_lock_irq+0x4cd/0xa10 [ 36.566097][ C3] ? common_startup_64+0x12c/0x138 [ 36.566238][ C3] ? __pfx_mark_lock_irq+0x10/0x10 [ 36.566463][ C3] ? __pfx_stack_trace_save+0x10/0x10 [ 36.566602][ C3] ? save_trace+0x8f/0x5b0 [ 36.566739][ C3] mark_lock+0x28d/0x3e0 [ 36.566845][ C3] ? __pfx_stack_trace_save+0x10/0x10 [ 36.566980][ C3] mark_usage+0xd9/0x2a0 [ 36.567086][ C3] __lock_acquire+0x797/0x1570 [ 36.567320][ C3] ? __pfx_validate_chain+0x10/0x10 [ 36.567468][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 36.567604][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.567741][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 36.567876][ C3] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 36.568012][ C3] ? trace_lock_acquire+0x135/0x1c0 [ 36.568151][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 36.568285][ C3] ? lock_acquire+0x32/0xc0 [ 36.568419][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 36.568560][ C3] _raw_write_lock+0x30/0x40 [ 36.568850][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 36.568984][ C3] addrconf_rs_timer+0xa9/0x730 [ 36.569195][ C3] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 36.569340][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 36.569479][ C3] ? call_timer_fn+0xe8/0x230 [ 36.569699][ C3] ? lock_acquire+0x32/0xc0 [ 36.569835][ C3] ? call_timer_fn+0xe8/0x230 [ 36.569972][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 36.570109][ C3] call_timer_fn+0x13b/0x230 [ 36.570322][ C3] ? call_timer_fn+0xe8/0x230 [ 36.570467][ C3] ? call_timer_fn+0xe8/0x230 [ 36.570602][ C3] ? __pfx_call_timer_fn+0x10/0x10 [ 36.570733][ C3] ? mark_lock+0x38/0x3e0 [ 36.570839][ C3] __run_timers+0x545/0x810 [ 36.570973][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 36.571109][ C3] ? __pfx___run_timers+0x10/0x10 [ 36.571258][ C3] ? do_raw_spin_lock+0x131/0x270 [ 36.571393][ C3] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 36.571531][ C3] ? lock_acquire+0x32/0xc0 [ 36.571665][ C3] ? run_timer_softirq+0xe0/0x1b0 [ 36.571803][ C3] run_timer_softirq+0xe8/0x1b0 [ 36.571939][ C3] __do_softirq+0x1f8/0x5df [ 36.572149][ C3] irq_exit_rcu+0x97/0xc0 [ 36.572250][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 36.572392][ C3] [ 36.572578][ C3] [ 36.572674][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 36.572937][ C3] RIP: 0010:default_idle+0xf/0x20 [ 36.573119][ 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 a3 30 35 00 fb f4 c3 cc cc cc cc 66 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 [ 36.573744][ C3] RSP: 0018:ffffc9000016fdf8 EFLAGS: 00000242 [ 36.573941][ C3] RAX: 000000000007488f RBX: 1ffff9200002dfc1 RCX: ffffffffa2b0e9d5 [ 36.574178][ C3] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffa04aa4a4 [ 36.574478][ C3] RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed1005f3709c [ 36.574712][ C3] R10: ffff88802f9b84e3 R11: ffff88802f9bdc80 R12: 0000000000000000 [ 36.575043][ C3] R13: ffff888001b88040 R14: dffffc0000000000 R15: 0000000000000000 [ 36.575506][ C3] ? ct_kernel_exit.constprop.0+0xc5/0xf0 [ 36.575706][ C3] ? cpuidle_idle_call+0x1f4/0x280 [ 36.575923][ C3] default_idle_call+0x6d/0xb0 [ 36.576125][ C3] cpuidle_idle_call+0x1f4/0x280 [ 36.576351][ C3] ? __pfx_cpuidle_idle_call+0x10/0x10 [ 36.576571][ C3] ? tsc_verify_tsc_adjust+0x5e/0x2b0 [ 36.576809][ C3] do_idle+0xf9/0x160 [ 36.576989][ C3] cpu_startup_entry+0x54/0x60 [ 36.577219][ C3] start_secondary+0x21c/0x2b0 [ 36.577452][ C3] ? __pfx_start_secondary+0x10/0x10 [ 36.577685][ C3] common_startup_64+0x12c/0x138 [ 36.577921][ C3]