[ 22.548140][ T241] ip (241) used greatest stack depth: 24368 bytes left [ 25.765735][ T262] ip (262) used greatest stack depth: 22752 bytes left [ 32.551293][ C0] [ 32.551405][ C0] ======================================================== [ 32.551642][ C0] WARNING: possible irq lock inversion dependency detected [ 32.551880][ C0] 6.9.0-rc1-virtme #1 Not tainted [ 32.552038][ C0] -------------------------------------------------------- [ 32.552272][ C0] swapper/0/0 just changed the state of lock: [ 32.552472][ C0] ffff888005753d80 (&ndev->lock){++-.}-{2:2}, at: addrconf_rs_timer+0xa9/0x730 [ 32.552757][ C0] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 32.552989][ C0] (&p->alloc_lock){+.+.}-{2:2} [ 32.552993][ C0] [ 32.552993][ C0] [ 32.552993][ C0] and interrupts could create inverse lock ordering between them. [ 32.552993][ C0] [ 32.553575][ C0] [ 32.553575][ C0] other info that might help us debug this: [ 32.553811][ C0] Possible interrupt unsafe locking scenario: [ 32.553811][ C0] [ 32.554053][ C0] CPU0 CPU1 [ 32.554207][ C0] ---- ---- [ 32.554369][ C0] lock(&p->alloc_lock); [ 32.554488][ C0] local_irq_disable(); [ 32.554682][ C0] lock(&ndev->lock); [ 32.554880][ C0] lock(&p->alloc_lock); [ 32.555081][ C0] [ 32.555203][ C0] lock(&ndev->lock); [ 32.555324][ C0] [ 32.555324][ C0] *** DEADLOCK *** [ 32.555324][ C0] [ 32.555557][ C0] 1 lock held by swapper/0/0: [ 32.555714][ C0] #0: ffffc90000007d68 ((&ndev->rs_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 32.555996][ C0] [ 32.555996][ C0] the shortest dependencies between 2nd lock and 1st lock: [ 32.556275][ C0] -> (&p->alloc_lock){+.+.}-{2:2} { [ 32.556443][ C0] HARDIRQ-ON-W at: [ 32.556563][ C0] __lock_acquire+0x797/0x1570 [ 32.556764][ C0] lock_acquire.part.0+0xeb/0x330 [ 32.556963][ C0] _raw_spin_lock+0x30/0x40 [ 32.557166][ C0] set_mems_allowed+0x1d/0x210 [ 32.557361][ C0] kernel_init_freeable+0x72/0x310 [ 32.557562][ C0] kernel_init+0x20/0x200 [ 32.557764][ C0] ret_from_fork+0x31/0x70 [ 32.557964][ C0] ret_from_fork_asm+0x1a/0x30 [ 32.558164][ C0] SOFTIRQ-ON-W at: [ 32.558285][ C0] __lock_acquire+0x797/0x1570 [ 32.558487][ C0] lock_acquire.part.0+0xeb/0x330 [ 32.558686][ C0] _raw_spin_lock+0x30/0x40 [ 32.558885][ C0] set_mems_allowed+0x1d/0x210 [ 32.559083][ C0] kernel_init_freeable+0x72/0x310 [ 32.559278][ C0] kernel_init+0x20/0x200 [ 32.559473][ C0] ret_from_fork+0x31/0x70 [ 32.559674][ C0] ret_from_fork_asm+0x1a/0x30 [ 32.559869][ C0] INITIAL USE at: [ 32.559987][ C0] __lock_acquire+0x797/0x1570 [ 32.560181][ C0] lock_acquire.part.0+0xeb/0x330 [ 32.560380][ C0] _raw_spin_lock+0x30/0x40 [ 32.560576][ C0] set_mems_allowed+0x1d/0x210 [ 32.560771][ C0] kernel_init_freeable+0x72/0x310 [ 32.560969][ C0] kernel_init+0x20/0x200 [ 32.561166][ C0] ret_from_fork+0x31/0x70 [ 32.561366][ C0] ret_from_fork_asm+0x1a/0x30 [ 32.561564][ C0] } [ 32.561645][ C0] ... key at: [] __key.387+0x0/0x40 [ 32.561881][ C0] ... acquired at: [ 32.561998][ C0] __lock_acquire+0xaf0/0x1570 [ 32.562160][ C0] lock_acquire.part.0+0xeb/0x330 [ 32.562317][ C0] _raw_spin_lock+0x30/0x40 [ 32.562473][ C0] __get_task_comm+0x27/0x70 [ 32.562631][ C0] ref_tracker_alloc+0x2ee/0x490 [ 32.562795][ C0] netdev_get_by_index+0x5e/0x80 [ 32.562969][ C0] fib6_nh_init+0x3d8/0x15b0 [ 32.563126][ C0] ip6_route_info_create+0xf18/0x17d0 [ 32.563285][ C0] ip6_route_add+0x1c/0x140 [ 32.563443][ C0] addrconf_prefix_route+0x1cc/0x2b0 [ 32.563605][ C0] addrconf_permanent_addr+0x32f/0x670 [ 32.563763][ C0] addrconf_notify+0x749/0xd60 [ 32.563920][ C0] notifier_call_chain+0xcd/0x150 [ 32.564081][ C0] __dev_notify_flags+0xe6/0x250 [ 32.564242][ C0] dev_change_flags+0xec/0x160 [ 32.564401][ C0] do_setlink+0x7d6/0x21e0 [ 32.564559][ C0] __rtnl_newlink+0xaa7/0xd80 [ 32.564719][ C0] rtnl_newlink+0x63/0xa0 [ 32.564879][ C0] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 32.565043][ C0] netlink_rcv_skb+0x130/0x360 [ 32.565200][ C0] netlink_unicast+0x449/0x710 [ 32.565367][ C0] netlink_sendmsg+0x723/0xbe0 [ 32.565526][ C0] ____sys_sendmsg+0x7b2/0xa10 [ 32.565684][ C0] ___sys_sendmsg+0xee/0x170 [ 32.565846][ C0] __sys_sendmsg+0xcd/0x170 [ 32.566003][ C0] do_syscall_64+0xc6/0x1e0 [ 32.566160][ C0] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 32.566358][ C0] [ 32.566439][ C0] -> (&ndev->lock){++-.}-{2:2} { [ 32.566608][ C0] HARDIRQ-ON-W at: [ 32.566727][ C0] __lock_acquire+0x797/0x1570 [ 32.566925][ C0] lock_acquire.part.0+0xeb/0x330 [ 32.567129][ C0] _raw_write_lock_bh+0x38/0x50 [ 32.567415][ C0] addrconf_permanent_addr+0x6e/0x670 [ 32.567614][ C0] addrconf_notify+0x749/0xd60 [ 32.567812][ C0] notifier_call_chain+0xcd/0x150 [ 32.568014][ C0] __dev_notify_flags+0xe6/0x250 [ 32.568214][ C0] dev_change_flags+0xec/0x160 [ 32.568515][ C0] do_setlink+0x7d6/0x21e0 [ 32.568711][ C0] __rtnl_newlink+0xaa7/0xd80 [ 32.568911][ C0] rtnl_newlink+0x63/0xa0 [ 32.569211][ C0] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 32.569415][ C0] netlink_rcv_skb+0x130/0x360 [ 32.569610][ C0] netlink_unicast+0x449/0x710 [ 32.569904][ C0] netlink_sendmsg+0x723/0xbe0 [ 32.570103][ C0] ____sys_sendmsg+0x7b2/0xa10 [ 32.570301][ C0] ___sys_sendmsg+0xee/0x170 [ 32.570504][ C0] __sys_sendmsg+0xcd/0x170 [ 32.570791][ C0] do_syscall_64+0xc6/0x1e0 [ 32.570987][ C0] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 32.571226][ C0] HARDIRQ-ON-R at: [ 32.571346][ C0] __lock_acquire+0x797/0x1570 [ 32.571638][ C0] lock_acquire.part.0+0xeb/0x330 [ 32.571843][ C0] _raw_read_lock_bh+0x44/0x80 [ 32.572036][ C0] inet6_fill_ifla6_attrs+0x516/0x740 [ 32.572344][ C0] inet6_fill_link_af+0x5e/0xe0 [ 32.572541][ C0] rtnl_fill_ifinfo+0x1612/0x29e0 [ 32.572736][ C0] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 32.572932][ C0] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 32.573169][ C0] rtmsg_ifinfo+0x5b/0xa0 [ 32.573364][ C0] register_netdevice+0x1177/0x1690 [ 32.573560][ C0] register_netdev+0x20/0x40 [ 32.573759][ C0] sit_init_net+0x250/0x4f0 [ 32.574141][ C0] ops_init+0x9b/0x560 [ 32.574296][ C0] register_pernet_operations+0x2db/0x710 [ 32.574535][ C0] register_pernet_device+0x2a/0x60 [ 32.574825][ C0] sit_init+0x23/0xe0 [ 32.574986][ C0] do_one_initcall+0x8d/0x1e0 [ 32.575185][ C0] do_initcalls+0x1b2/0x3e0 [ 32.575384][ C0] kernel_init_freeable+0x232/0x310 [ 32.575670][ C0] kernel_init+0x20/0x200 [ 32.575870][ C0] ret_from_fork+0x31/0x70 [ 32.576067][ C0] ret_from_fork_asm+0x1a/0x30 [ 32.576260][ C0] IN-SOFTIRQ-W at: [ 32.576470][ C0] __lock_acquire+0x797/0x1570 [ 32.576665][ C0] lock_acquire.part.0+0xeb/0x330 [ 32.576861][ C0] _raw_write_lock+0x30/0x40 [ 32.577057][ C0] addrconf_rs_timer+0xa9/0x730 [ 32.577253][ C0] call_timer_fn+0x13b/0x230 [ 32.577450][ C0] __run_timers+0x545/0x810 [ 32.577647][ C0] run_timer_softirq+0xe8/0x1b0 [ 32.577936][ C0] __do_softirq+0x1f8/0x5df [ 32.578131][ C0] irq_exit_rcu+0x97/0xc0 [ 32.578328][ C0] sysvec_apic_timer_interrupt+0x75/0x80 [ 32.578650][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 32.578887][ C0] default_idle+0xf/0x20 [ 32.579084][ C0] default_idle_call+0x6d/0xb0 [ 32.579407][ C0] cpuidle_idle_call+0x1f4/0x280 [ 32.579616][ C0] do_idle+0xf9/0x160 [ 32.579776][ C0] cpu_startup_entry+0x54/0x60 [ 32.579975][ C0] rest_init+0x14f/0x260 [ 32.580169][ C0] start_kernel+0x318/0x3d0 [ 32.580370][ C0] x86_64_start_reservations+0x18/0x30 [ 32.580583][ C0] x86_64_start_kernel+0xba/0x110 [ 32.580880][ C0] common_startup_64+0x12c/0x138 [ 32.581078][ C0] INITIAL USE at: [ 32.581199][ C0] __lock_acquire+0x797/0x1570 [ 32.581398][ C0] lock_acquire.part.0+0xeb/0x330 [ 32.581596][ C0] _raw_write_lock_bh+0x38/0x50 [ 32.581892][ C0] addrconf_permanent_addr+0x6e/0x670 [ 32.582092][ C0] addrconf_notify+0x749/0xd60 [ 32.582287][ C0] notifier_call_chain+0xcd/0x150 [ 32.582485][ C0] __dev_notify_flags+0xe6/0x250 [ 32.582773][ C0] dev_change_flags+0xec/0x160 [ 32.582975][ C0] do_setlink+0x7d6/0x21e0 [ 32.583179][ C0] __rtnl_newlink+0xaa7/0xd80 [ 32.583488][ C0] rtnl_newlink+0x63/0xa0 [ 32.583684][ C0] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 32.583885][ C0] netlink_rcv_skb+0x130/0x360 [ 32.584085][ C0] netlink_unicast+0x449/0x710 [ 32.584284][ C0] netlink_sendmsg+0x723/0xbe0 [ 32.584482][ C0] ____sys_sendmsg+0x7b2/0xa10 [ 32.584675][ C0] ___sys_sendmsg+0xee/0x170 [ 32.584870][ C0] __sys_sendmsg+0xcd/0x170 [ 32.585162][ C0] do_syscall_64+0xc6/0x1e0 [ 32.585360][ C0] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 32.585691][ C0] INITIAL READ USE at: [ 32.585815][ C0] __lock_acquire+0x797/0x1570 [ 32.586017][ C0] lock_acquire.part.0+0xeb/0x330 [ 32.586215][ C0] _raw_read_lock_bh+0x44/0x80 [ 32.586512][ C0] inet6_fill_ifla6_attrs+0x516/0x740 [ 32.586755][ C0] inet6_fill_link_af+0x5e/0xe0 [ 32.586953][ C0] rtnl_fill_ifinfo+0x1612/0x29e0 [ 32.587159][ C0] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 32.587500][ C0] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 32.587738][ C0] rtmsg_ifinfo+0x5b/0xa0 [ 32.587932][ C0] register_netdevice+0x1177/0x1690 [ 32.588165][ C0] register_netdev+0x20/0x40 [ 32.588361][ C0] sit_init_net+0x250/0x4f0 [ 32.588561][ C0] ops_init+0x9b/0x560 [ 32.588762][ C0] register_pernet_operations+0x2db/0x710 [ 32.588999][ C0] register_pernet_device+0x2a/0x60 [ 32.589232][ C0] sit_init+0x23/0xe0 [ 32.589432][ C0] do_one_initcall+0x8d/0x1e0 [ 32.589628][ C0] do_initcalls+0x1b2/0x3e0 [ 32.589827][ C0] kernel_init_freeable+0x232/0x310 [ 32.590061][ C0] kernel_init+0x20/0x200 [ 32.590260][ C0] ret_from_fork+0x31/0x70 [ 32.590463][ C0] ret_from_fork_asm+0x1a/0x30 [ 32.590665][ C0] } [ 32.590745][ C0] ... key at: [] __key.36+0x0/0x40 [ 32.590980][ C0] ... acquired at: [ 32.591095][ C0] mark_lock+0x28d/0x3e0 [ 32.591250][ C0] mark_usage+0xd9/0x2a0 [ 32.591410][ C0] __lock_acquire+0x797/0x1570 [ 32.591569][ C0] lock_acquire.part.0+0xeb/0x330 [ 32.591728][ C0] _raw_write_lock+0x30/0x40 [ 32.591886][ C0] addrconf_rs_timer+0xa9/0x730 [ 32.592042][ C0] call_timer_fn+0x13b/0x230 [ 32.592199][ C0] __run_timers+0x545/0x810 [ 32.592444][ C0] run_timer_softirq+0xe8/0x1b0 [ 32.592602][ C0] __do_softirq+0x1f8/0x5df [ 32.592856][ C0] irq_exit_rcu+0x97/0xc0 [ 32.593018][ C0] sysvec_apic_timer_interrupt+0x75/0x80 [ 32.593218][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 32.593415][ C0] default_idle+0xf/0x20 [ 32.593670][ C0] default_idle_call+0x6d/0xb0 [ 32.593824][ C0] cpuidle_idle_call+0x1f4/0x280 [ 32.593982][ C0] do_idle+0xf9/0x160 [ 32.594100][ C0] cpu_startup_entry+0x54/0x60 [ 32.594255][ C0] rest_init+0x14f/0x260 [ 32.594500][ C0] start_kernel+0x318/0x3d0 [ 32.594658][ C0] x86_64_start_reservations+0x18/0x30 [ 32.594909][ C0] x86_64_start_kernel+0xba/0x110 [ 32.595073][ C0] common_startup_64+0x12c/0x138 [ 32.595240][ C0] [ 32.595319][ C0] [ 32.595319][ C0] stack backtrace: [ 32.595594][ C0] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.9.0-rc1-virtme #1 [ 32.595827][ C0] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 32.596176][ C0] Call Trace: [ 32.596486][ C0] [ 32.596567][ C0] dump_stack_lvl+0x82/0xd0 [ 32.596729][ C0] print_irq_inversion_bug.part.0+0x3d9/0x570 [ 32.596922][ C0] ? kernel_text_address+0x17/0xe0 [ 32.597081][ C0] ? __pfx_print_irq_inversion_bug.part.0+0x10/0x10 [ 32.597276][ C0] ? __pfx_usage_skip+0x10/0x10 [ 32.597433][ C0] ? __pfx_usage_match+0x10/0x10 [ 32.597589][ C0] ? arch_stack_walk+0x8c/0xf0 [ 32.597748][ C0] mark_lock_irq+0x4cd/0xa10 [ 32.597906][ C0] ? common_startup_64+0x12c/0x138 [ 32.598066][ C0] ? __pfx_mark_lock_irq+0x10/0x10 [ 32.598222][ C0] ? __pfx_stack_trace_save+0x10/0x10 [ 32.598383][ C0] ? save_trace+0x8f/0x5b0 [ 32.598543][ C0] mark_lock+0x28d/0x3e0 [ 32.598661][ C0] ? __pfx_stack_trace_save+0x10/0x10 [ 32.598821][ C0] mark_usage+0xd9/0x2a0 [ 32.598940][ C0] __lock_acquire+0x797/0x1570 [ 32.599186][ C0] ? __pfx_validate_chain+0x10/0x10 [ 32.599347][ C0] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 32.599503][ C0] lock_acquire.part.0+0xeb/0x330 [ 32.599660][ C0] ? addrconf_rs_timer+0xa9/0x730 [ 32.599817][ C0] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 32.600060][ C0] ? trace_lock_acquire+0x135/0x1c0 [ 32.600216][ C0] ? addrconf_rs_timer+0xa9/0x730 [ 32.600369][ C0] ? lock_acquire+0x32/0xc0 [ 32.600524][ C0] ? addrconf_rs_timer+0xa9/0x730 [ 32.600769][ C0] _raw_write_lock+0x30/0x40 [ 32.600927][ C0] ? addrconf_rs_timer+0xa9/0x730 [ 32.601087][ C0] addrconf_rs_timer+0xa9/0x730 [ 32.601241][ C0] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 32.601487][ C0] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 32.601643][ C0] ? call_timer_fn+0xe8/0x230 [ 32.601798][ C0] ? lock_acquire+0x32/0xc0 [ 32.601954][ C0] ? call_timer_fn+0xe8/0x230 [ 32.602198][ C0] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 32.602356][ C0] call_timer_fn+0x13b/0x230 [ 32.602518][ C0] ? call_timer_fn+0xe8/0x230 [ 32.602677][ C0] ? call_timer_fn+0xe8/0x230 [ 32.602835][ C0] ? __pfx_call_timer_fn+0x10/0x10 [ 32.603082][ C0] ? mark_lock+0x38/0x3e0 [ 32.603205][ C0] __run_timers+0x545/0x810 [ 32.603363][ C0] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 32.603526][ C0] ? __pfx___run_timers+0x10/0x10 [ 32.603772][ C0] ? do_raw_spin_lock+0x131/0x270 [ 32.603931][ C0] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 32.604089][ C0] ? lock_acquire+0x32/0xc0 [ 32.604245][ C0] ? run_timer_softirq+0xe0/0x1b0 [ 32.604492][ C0] run_timer_softirq+0xe8/0x1b0 [ 32.604649][ C0] __do_softirq+0x1f8/0x5df [ 32.604807][ C0] irq_exit_rcu+0x97/0xc0 [ 32.604927][ C0] sysvec_apic_timer_interrupt+0x75/0x80 [ 32.605084][ C0] [ 32.605251][ C0] [ 32.605330][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 32.605529][ C0] RIP: 0010:default_idle+0xf/0x20 [ 32.605692][ 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 c3 d1 2b 00 fb f4 c3 cc cc cc cc 66 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 [ 32.606338][ C0] RSP: 0018:ffffffff8c007e00 EFLAGS: 00000242 [ 32.606537][ C0] RAX: 00000000000ab219 RBX: 1ffffffff1800fc2 RCX: ffffffff8b1a48b5 [ 32.606866][ C0] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff88aaa4a4 [ 32.607117][ C0] RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed1006c0709c [ 32.607351][ C0] R10: ffff8880360384e3 R11: 1ffff110003a910c R12: 0000000000000000 [ 32.607687][ C0] R13: ffffffff8c041000 R14: dffffc0000000000 R15: 0000000000014770 [ 32.607928][ C0] ? ct_kernel_exit.constprop.0+0xc5/0xf0 [ 32.608092][ C0] ? cpuidle_idle_call+0x1f4/0x280 [ 32.608245][ C0] default_idle_call+0x6d/0xb0 [ 32.608490][ C0] cpuidle_idle_call+0x1f4/0x280 [ 32.608647][ C0] ? __pfx_cpuidle_idle_call+0x10/0x10 [ 32.608805][ C0] ? tsc_verify_tsc_adjust+0x5e/0x2b0 [ 32.608964][ C0] do_idle+0xf9/0x160 [ 32.609084][ C0] cpu_startup_entry+0x54/0x60 [ 32.609352][ C0] rest_init+0x14f/0x260 [ 32.609475][ C0] start_kernel+0x318/0x3d0 [ 32.609635][ C0] x86_64_start_reservations+0x18/0x30 [ 32.609791][ C0] x86_64_start_kernel+0xba/0x110 [ 32.609950][ C0] common_startup_64+0x12c/0x138 [ 32.610116][ C0] [ 40.730608][ T366] netem: version 1.3