[ 81.062630][ T843] ip (843) used greatest stack depth: 23040 bytes left [ 111.656137][ C0] [ 111.656251][ C0] ======================================================== [ 111.656475][ C0] WARNING: possible irq lock inversion dependency detected [ 111.656708][ C0] 6.9.0-rc1-virtme #1 Not tainted [ 111.656853][ C0] -------------------------------------------------------- [ 111.657083][ C0] swapper/0/0 just changed the state of lock: [ 111.657266][ C0] ffff888005f43d80 (&ndev->lock){++-.}-{2:2}, at: addrconf_rs_timer+0xa9/0x730 [ 111.657533][ C0] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 111.657752][ C0] (&p->alloc_lock){+.+.}-{2:2} [ 111.657756][ C0] [ 111.657756][ C0] [ 111.657756][ C0] and interrupts could create inverse lock ordering between them. [ 111.657756][ C0] [ 111.658308][ C0] [ 111.658308][ C0] other info that might help us debug this: [ 111.658521][ C0] Possible interrupt unsafe locking scenario: [ 111.658521][ C0] [ 111.658731][ C0] CPU0 CPU1 [ 111.658879][ C0] ---- ---- [ 111.659026][ C0] lock(&p->alloc_lock); [ 111.659142][ C0] local_irq_disable(); [ 111.659333][ C0] lock(&ndev->lock); [ 111.659514][ C0] lock(&p->alloc_lock); [ 111.659696][ C0] [ 111.659807][ C0] lock(&ndev->lock); [ 111.659921][ C0] [ 111.659921][ C0] *** DEADLOCK *** [ 111.659921][ C0] [ 111.660139][ C0] 1 lock held by swapper/0/0: [ 111.660283][ C0] #0: ffffc90000007d68 ((&ndev->rs_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 111.660553][ C0] [ 111.660553][ C0] the shortest dependencies between 2nd lock and 1st lock: [ 111.660815][ C0] -> (&p->alloc_lock){+.+.}-{2:2} { [ 111.660972][ C0] HARDIRQ-ON-W at: [ 111.661085][ C0] __lock_acquire+0x797/0x1570 [ 111.661285][ C0] lock_acquire.part.0+0xeb/0x330 [ 111.661486][ C0] _raw_spin_lock+0x30/0x40 [ 111.661671][ C0] set_mems_allowed+0x1d/0x210 [ 111.661860][ C0] kernel_init_freeable+0x72/0x310 [ 111.662043][ C0] kernel_init+0x20/0x200 [ 111.662228][ C0] ret_from_fork+0x31/0x70 [ 111.662421][ C0] ret_from_fork_asm+0x1a/0x30 [ 111.662608][ C0] SOFTIRQ-ON-W at: [ 111.662717][ C0] __lock_acquire+0x797/0x1570 [ 111.662897][ C0] lock_acquire.part.0+0xeb/0x330 [ 111.663082][ C0] _raw_spin_lock+0x30/0x40 [ 111.663265][ C0] set_mems_allowed+0x1d/0x210 [ 111.663454][ C0] kernel_init_freeable+0x72/0x310 [ 111.663634][ C0] kernel_init+0x20/0x200 [ 111.663820][ C0] ret_from_fork+0x31/0x70 [ 111.664006][ C0] ret_from_fork_asm+0x1a/0x30 [ 111.664192][ C0] INITIAL USE at: [ 111.664300][ C0] __lock_acquire+0x797/0x1570 [ 111.664487][ C0] lock_acquire.part.0+0xeb/0x330 [ 111.664671][ C0] _raw_spin_lock+0x30/0x40 [ 111.664854][ C0] set_mems_allowed+0x1d/0x210 [ 111.665043][ C0] kernel_init_freeable+0x72/0x310 [ 111.665243][ C0] kernel_init+0x20/0x200 [ 111.665426][ C0] ret_from_fork+0x31/0x70 [ 111.665612][ C0] ret_from_fork_asm+0x1a/0x30 [ 111.665794][ C0] } [ 111.665870][ C0] ... key at: [] __key.388+0x0/0x40 [ 111.666093][ C0] ... acquired at: [ 111.666201][ C0] __lock_acquire+0xaf0/0x1570 [ 111.666362][ C0] lock_acquire.part.0+0xeb/0x330 [ 111.666511][ C0] _raw_spin_lock+0x30/0x40 [ 111.666660][ C0] __get_task_comm+0x27/0x70 [ 111.666810][ C0] ref_tracker_alloc+0x2ee/0x490 [ 111.666961][ C0] netdev_get_by_index+0x5e/0x80 [ 111.667106][ C0] fib6_nh_init+0x3d8/0x1580 [ 111.667254][ C0] ip6_route_info_create+0xf18/0x17d0 [ 111.667408][ C0] ip6_route_add+0x1c/0x140 [ 111.667560][ C0] addrconf_prefix_route+0x2a6/0x430 [ 111.667710][ C0] addrconf_permanent_addr+0x32f/0x670 [ 111.667859][ C0] addrconf_notify+0x749/0xd60 [ 111.668006][ C0] notifier_call_chain+0xcd/0x150 [ 111.668172][ C0] __dev_notify_flags+0xe6/0x250 [ 111.668322][ C0] dev_change_flags+0xec/0x160 [ 111.668468][ C0] do_setlink+0x7d6/0x21e0 [ 111.668617][ C0] __rtnl_newlink+0xaa7/0xd80 [ 111.668766][ C0] rtnl_newlink+0x63/0xa0 [ 111.668913][ C0] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 111.669059][ C0] netlink_rcv_skb+0x130/0x360 [ 111.669205][ C0] netlink_unicast+0x449/0x710 [ 111.669356][ C0] netlink_sendmsg+0x723/0xbe0 [ 111.669503][ C0] ____sys_sendmsg+0x7b2/0xa10 [ 111.669650][ C0] ___sys_sendmsg+0xee/0x170 [ 111.669808][ C0] __sys_sendmsg+0xcd/0x170 [ 111.669955][ C0] do_syscall_64+0xc6/0x1e0 [ 111.670104][ C0] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 111.670289][ C0] [ 111.670364][ C0] -> (&ndev->lock){++-.}-{2:2} { [ 111.670515][ C0] HARDIRQ-ON-W at: [ 111.670626][ C0] __lock_acquire+0x797/0x1570 [ 111.670815][ C0] lock_acquire.part.0+0xeb/0x330 [ 111.671004][ C0] _raw_write_lock_bh+0x38/0x50 [ 111.671190][ C0] addrconf_permanent_addr+0x6e/0x670 [ 111.671379][ C0] addrconf_notify+0x749/0xd60 [ 111.671566][ C0] notifier_call_chain+0xcd/0x150 [ 111.671755][ C0] __dev_notify_flags+0xe6/0x250 [ 111.671939][ C0] dev_change_flags+0xec/0x160 [ 111.672126][ C0] do_setlink+0x7d6/0x21e0 [ 111.672316][ C0] __rtnl_newlink+0xaa7/0xd80 [ 111.672499][ C0] rtnl_newlink+0x63/0xa0 [ 111.672686][ C0] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 111.672881][ C0] netlink_rcv_skb+0x130/0x360 [ 111.673063][ C0] netlink_unicast+0x449/0x710 [ 111.673246][ C0] netlink_sendmsg+0x723/0xbe0 [ 111.673435][ C0] ____sys_sendmsg+0x7b2/0xa10 [ 111.673628][ C0] ___sys_sendmsg+0xee/0x170 [ 111.673816][ C0] __sys_sendmsg+0xcd/0x170 [ 111.674005][ C0] do_syscall_64+0xc6/0x1e0 [ 111.674191][ C0] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 111.674518][ C0] HARDIRQ-ON-R at: [ 111.674629][ C0] __lock_acquire+0x797/0x1570 [ 111.674814][ C0] lock_acquire.part.0+0xeb/0x330 [ 111.675001][ C0] _raw_read_lock_bh+0x44/0x80 [ 111.675279][ C0] inet6_fill_ifla6_attrs+0x516/0x740 [ 111.675482][ C0] inet6_fill_link_af+0x5e/0xe0 [ 111.675668][ C0] rtnl_fill_ifinfo+0x1615/0x2a90 [ 111.675954][ C0] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 111.676139][ C0] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 111.676462][ C0] rtmsg_ifinfo+0x5b/0xa0 [ 111.676647][ C0] register_netdevice+0x1177/0x1690 [ 111.676839][ C0] register_netdev+0x20/0x40 [ 111.677136][ C0] vti6_init_net+0x25d/0x380 [ 111.677321][ C0] ops_init+0x9b/0x560 [ 111.677479][ C0] register_pernet_operations+0x2db/0x710 [ 111.677696][ C0] register_pernet_device+0x2a/0x60 [ 111.677880][ C0] vti6_tunnel_init+0x18/0x110 [ 111.678069][ C0] do_one_initcall+0x8d/0x1e0 [ 111.678270][ C0] do_initcalls+0x1b2/0x3e0 [ 111.678460][ C0] kernel_init_freeable+0x232/0x310 [ 111.678746][ C0] kernel_init+0x20/0x200 [ 111.678933][ C0] ret_from_fork+0x31/0x70 [ 111.679213][ C0] ret_from_fork_asm+0x1a/0x30 [ 111.679396][ C0] IN-SOFTIRQ-W at: [ 111.679509][ C0] __lock_acquire+0x797/0x1570 [ 111.679706][ C0] lock_acquire.part.0+0xeb/0x330 [ 111.679984][ C0] _raw_write_lock+0x30/0x40 [ 111.680167][ C0] addrconf_rs_timer+0xa9/0x730 [ 111.680349][ C0] call_timer_fn+0x13b/0x230 [ 111.680628][ C0] __run_timers+0x545/0x810 [ 111.680810][ C0] run_timer_softirq+0xe8/0x1b0 [ 111.681093][ C0] __do_softirq+0x1f8/0x5df [ 111.681372][ C0] irq_exit_rcu+0x97/0xc0 [ 111.681647][ C0] sysvec_apic_timer_interrupt+0x75/0x80 [ 111.681865][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 111.682174][ C0] default_idle+0xf/0x20 [ 111.682355][ C0] default_idle_call+0x6d/0xb0 [ 111.682545][ C0] cpuidle_idle_call+0x1f4/0x280 [ 111.682726][ C0] do_idle+0xf9/0x160 [ 111.682959][ C0] cpu_startup_entry+0x54/0x60 [ 111.683140][ C0] rest_init+0x14f/0x260 [ 111.683319][ C0] start_kernel+0x318/0x3d0 [ 111.683587][ C0] x86_64_start_reservations+0x18/0x30 [ 111.683767][ C0] x86_64_start_kernel+0xba/0x110 [ 111.683950][ C0] common_startup_64+0x12c/0x138 [ 111.684131][ C0] INITIAL USE at: [ 111.684413][ C0] __lock_acquire+0x797/0x1570 [ 111.684595][ C0] lock_acquire.part.0+0xeb/0x330 [ 111.684782][ C0] _raw_write_lock_bh+0x38/0x50 [ 111.684961][ C0] addrconf_permanent_addr+0x6e/0x670 [ 111.685259][ C0] addrconf_notify+0x749/0xd60 [ 111.685438][ C0] notifier_call_chain+0xcd/0x150 [ 111.685618][ C0] __dev_notify_flags+0xe6/0x250 [ 111.685800][ C0] dev_change_flags+0xec/0x160 [ 111.685978][ C0] do_setlink+0x7d6/0x21e0 [ 111.686159][ C0] __rtnl_newlink+0xaa7/0xd80 [ 111.686343][ C0] rtnl_newlink+0x63/0xa0 [ 111.686525][ C0] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 111.686705][ C0] netlink_rcv_skb+0x130/0x360 [ 111.686885][ C0] netlink_unicast+0x449/0x710 [ 111.687160][ C0] netlink_sendmsg+0x723/0xbe0 [ 111.687339][ C0] ____sys_sendmsg+0x7b2/0xa10 [ 111.687518][ C0] ___sys_sendmsg+0xee/0x170 [ 111.687706][ C0] __sys_sendmsg+0xcd/0x170 [ 111.687889][ C0] do_syscall_64+0xc6/0x1e0 [ 111.688069][ C0] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 111.688295][ C0] INITIAL READ USE at: [ 111.688403][ C0] __lock_acquire+0x797/0x1570 [ 111.688584][ C0] lock_acquire.part.0+0xeb/0x330 [ 111.688765][ C0] _raw_read_lock_bh+0x44/0x80 [ 111.689041][ C0] inet6_fill_ifla6_attrs+0x516/0x740 [ 111.689258][ C0] inet6_fill_link_af+0x5e/0xe0 [ 111.689439][ C0] rtnl_fill_ifinfo+0x1615/0x2a90 [ 111.689707][ C0] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 111.689922][ C0] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 111.690150][ C0] rtmsg_ifinfo+0x5b/0xa0 [ 111.690418][ C0] register_netdevice+0x1177/0x1690 [ 111.690633][ C0] register_netdev+0x20/0x40 [ 111.690813][ C0] vti6_init_net+0x25d/0x380 [ 111.690994][ C0] ops_init+0x9b/0x560 [ 111.691286][ C0] register_pernet_operations+0x2db/0x710 [ 111.691510][ C0] register_pernet_device+0x2a/0x60 [ 111.691729][ C0] vti6_tunnel_init+0x18/0x110 [ 111.691917][ C0] do_one_initcall+0x8d/0x1e0 [ 111.692100][ C0] do_initcalls+0x1b2/0x3e0 [ 111.692280][ C0] kernel_init_freeable+0x232/0x310 [ 111.692503][ C0] kernel_init+0x20/0x200 [ 111.692689][ C0] ret_from_fork+0x31/0x70 [ 111.692869][ C0] ret_from_fork_asm+0x1a/0x30 [ 111.693162][ C0] } [ 111.693235][ C0] ... key at: [] __key.37+0x0/0x40 [ 111.693448][ C0] ... acquired at: [ 111.693555][ C0] mark_lock+0x28d/0x3e0 [ 111.693697][ C0] mark_usage+0xd9/0x2a0 [ 111.693841][ C0] __lock_acquire+0x797/0x1570 [ 111.693989][ C0] lock_acquire.part.0+0xeb/0x330 [ 111.694132][ C0] _raw_write_lock+0x30/0x40 [ 111.694274][ C0] addrconf_rs_timer+0xa9/0x730 [ 111.694417][ C0] call_timer_fn+0x13b/0x230 [ 111.694562][ C0] __run_timers+0x545/0x810 [ 111.694704][ C0] run_timer_softirq+0xe8/0x1b0 [ 111.694847][ C0] __do_softirq+0x1f8/0x5df [ 111.695188][ C0] irq_exit_rcu+0x97/0xc0 [ 111.695337][ C0] sysvec_apic_timer_interrupt+0x75/0x80 [ 111.695521][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 111.695698][ C0] default_idle+0xf/0x20 [ 111.695841][ C0] default_idle_call+0x6d/0xb0 [ 111.695985][ C0] cpuidle_idle_call+0x1f4/0x280 [ 111.696130][ C0] do_idle+0xf9/0x160 [ 111.696239][ C0] cpu_startup_entry+0x54/0x60 [ 111.696383][ C0] rest_init+0x14f/0x260 [ 111.696524][ C0] start_kernel+0x318/0x3d0 [ 111.696670][ C0] x86_64_start_reservations+0x18/0x30 [ 111.696814][ C0] x86_64_start_kernel+0xba/0x110 [ 111.696957][ C0] common_startup_64+0x12c/0x138 [ 111.697210][ C0] [ 111.697282][ C0] [ 111.697282][ C0] stack backtrace: [ 111.697457][ C0] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.9.0-rc1-virtme #1 [ 111.697676][ C0] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 111.697995][ C0] Call Trace: [ 111.698117][ C0] [ 111.698200][ C0] dump_stack_lvl+0x82/0xd0 [ 111.698353][ C0] print_irq_inversion_bug.part.0+0x3d9/0x570 [ 111.698533][ C0] ? kernel_text_address+0x17/0xe0 [ 111.698678][ C0] ? __pfx_print_irq_inversion_bug.part.0+0x10/0x10 [ 111.698855][ C0] ? __pfx_usage_skip+0x10/0x10 [ 111.699094][ C0] ? __pfx_usage_match+0x10/0x10 [ 111.699240][ C0] ? arch_stack_walk+0x8c/0xf0 [ 111.699384][ C0] mark_lock_irq+0x4cd/0xa10 [ 111.699527][ C0] ? common_startup_64+0x12c/0x138 [ 111.699674][ C0] ? __pfx_mark_lock_irq+0x10/0x10 [ 111.699818][ C0] ? __pfx_stack_trace_save+0x10/0x10 [ 111.699962][ C0] ? save_trace+0x8f/0x5b0 [ 111.700109][ C0] mark_lock+0x28d/0x3e0 [ 111.700218][ C0] ? __pfx_stack_trace_save+0x10/0x10 [ 111.700363][ C0] mark_usage+0xd9/0x2a0 [ 111.700473][ C0] __lock_acquire+0x797/0x1570 [ 111.700619][ C0] ? __pfx_validate_chain+0x10/0x10 [ 111.700764][ C0] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 111.701005][ C0] lock_acquire.part.0+0xeb/0x330 [ 111.701151][ C0] ? addrconf_rs_timer+0xa9/0x730 [ 111.701296][ C0] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 111.701441][ C0] ? trace_lock_acquire+0x135/0x1c0 [ 111.701588][ C0] ? addrconf_rs_timer+0xa9/0x730 [ 111.701817][ C0] ? lock_acquire+0x32/0xc0 [ 111.701960][ C0] ? addrconf_rs_timer+0xa9/0x730 [ 111.702102][ C0] _raw_write_lock+0x30/0x40 [ 111.702244][ C0] ? addrconf_rs_timer+0xa9/0x730 [ 111.702472][ C0] addrconf_rs_timer+0xa9/0x730 [ 111.702615][ C0] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 111.702758][ C0] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 111.702906][ C0] ? call_timer_fn+0xe8/0x230 [ 111.703161][ C0] ? lock_acquire+0x32/0xc0 [ 111.703313][ C0] ? call_timer_fn+0xe8/0x230 [ 111.703463][ C0] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 111.703605][ C0] call_timer_fn+0x13b/0x230 [ 111.703747][ C0] ? call_timer_fn+0xe8/0x230 [ 111.703890][ C0] ? call_timer_fn+0xe8/0x230 [ 111.704032][ C0] ? __pfx_call_timer_fn+0x10/0x10 [ 111.704174][ C0] ? mark_lock+0x38/0x3e0 [ 111.704290][ C0] __run_timers+0x545/0x810 [ 111.704434][ C0] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 111.704576][ C0] ? __pfx___run_timers+0x10/0x10 [ 111.704720][ C0] ? do_raw_spin_lock+0x131/0x270 [ 111.704863][ C0] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 111.705098][ C0] ? lock_acquire+0x32/0xc0 [ 111.705242][ C0] ? run_timer_softirq+0xe0/0x1b0 [ 111.705386][ C0] run_timer_softirq+0xe8/0x1b0 [ 111.705531][ C0] __do_softirq+0x1f8/0x5df [ 111.705680][ C0] irq_exit_rcu+0x97/0xc0 [ 111.705789][ C0] sysvec_apic_timer_interrupt+0x75/0x80 [ 111.705934][ C0] [ 111.706008][ C0] [ 111.706081][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 111.706259][ C0] RIP: 0010:default_idle+0xf/0x20 [ 111.706500][ C0] 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 [ 111.707126][ C0] RSP: 0018:ffffffff95807e00 EFLAGS: 00000242 [ 111.707315][ C0] RAX: 0000000000265be3 RBX: 1ffffffff2b00fc2 RCX: ffffffff94932ea5 [ 111.707531][ C0] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff920ac1d4 [ 111.707747][ C0] RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed1006c0709c [ 111.707963][ C0] R10: ffff8880360384e3 R11: ffff88803603de40 R12: 0000000000000000 [ 111.708190][ C0] R13: ffffffff95831000 R14: dffffc0000000000 R15: 0000000000014770 [ 111.708409][ C0] ? ct_kernel_exit.constprop.0+0xc5/0xf0 [ 111.708553][ C0] ? cpuidle_idle_call+0x1f4/0x280 [ 111.708697][ C0] default_idle_call+0x6d/0xb0 [ 111.708850][ C0] cpuidle_idle_call+0x1f4/0x280 [ 111.709100][ C0] ? __pfx_cpuidle_idle_call+0x10/0x10 [ 111.709247][ C0] ? tsc_verify_tsc_adjust+0x5e/0x2b0 [ 111.709392][ C0] do_idle+0xf9/0x160 [ 111.709502][ C0] cpu_startup_entry+0x54/0x60 [ 111.709644][ C0] rest_init+0x14f/0x260 [ 111.709755][ C0] start_kernel+0x318/0x3d0 [ 111.709900][ C0] x86_64_start_reservations+0x18/0x30 [ 111.710043][ C0] x86_64_start_kernel+0xba/0x110 [ 111.710185][ C0] common_startup_64+0x12c/0x138 [ 111.710337][ C0]