[ 30.415044][ T294] netem: version 1.3 [ 32.678834][ C3] [ 32.679036][ C3] ======================================================== [ 32.679241][ C3] WARNING: possible irq lock inversion dependency detected [ 32.679438][ C3] 6.9.0-rc1-virtme #1 Not tainted [ 32.679570][ C3] -------------------------------------------------------- [ 32.679766][ C3] swapper/3/0 just changed the state of lock: [ 32.679931][ C3] ffff888006626d80 (&ndev->lock){++-.}-{2:2}, at: addrconf_rs_timer+0xa9/0x730 [ 32.680175][ C3] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 32.680371][ C3] (&p->alloc_lock){+.+.}-{2:2} [ 32.680375][ C3] [ 32.680375][ C3] [ 32.680375][ C3] and interrupts could create inverse lock ordering between them. [ 32.680375][ C3] [ 32.680853][ C3] [ 32.680853][ C3] other info that might help us debug this: [ 32.681046][ C3] Possible interrupt unsafe locking scenario: [ 32.681046][ C3] [ 32.681239][ C3] CPU0 CPU1 [ 32.681372][ C3] ---- ---- [ 32.681506][ C3] lock(&p->alloc_lock); [ 32.681608][ C3] local_irq_disable(); [ 32.681777][ C3] lock(&ndev->lock); [ 32.681942][ C3] lock(&p->alloc_lock); [ 32.682108][ C3] [ 32.682213][ C3] lock(&ndev->lock); [ 32.682318][ C3] [ 32.682318][ C3] *** DEADLOCK *** [ 32.682318][ C3] [ 32.682516][ C3] 1 lock held by swapper/3/0: [ 32.682649][ C3] #0: ffffc90000288d68 ((&ndev->rs_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 32.682896][ C3] [ 32.682896][ C3] the shortest dependencies between 2nd lock and 1st lock: [ 32.683132][ C3] -> (&p->alloc_lock){+.+.}-{2:2} { [ 32.683269][ C3] HARDIRQ-ON-W at: [ 32.683370][ C3] __lock_acquire+0x797/0x1570 [ 32.683542][ C3] lock_acquire.part.0+0xeb/0x330 [ 32.683708][ C3] _raw_spin_lock+0x30/0x40 [ 32.683874][ C3] set_mems_allowed+0x1d/0x210 [ 32.684045][ C3] kernel_init_freeable+0x72/0x310 [ 32.684212][ C3] kernel_init+0x20/0x200 [ 32.684378][ C3] ret_from_fork+0x31/0x70 [ 32.684546][ C3] ret_from_fork_asm+0x1a/0x30 [ 32.684714][ C3] SOFTIRQ-ON-W at: [ 32.684813][ C3] __lock_acquire+0x797/0x1570 [ 32.684977][ C3] lock_acquire.part.0+0xeb/0x330 [ 32.685145][ C3] _raw_spin_lock+0x30/0x40 [ 32.685311][ C3] set_mems_allowed+0x1d/0x210 [ 32.685474][ C3] kernel_init_freeable+0x72/0x310 [ 32.685638][ C3] kernel_init+0x20/0x200 [ 32.685805][ C3] ret_from_fork+0x31/0x70 [ 32.685971][ C3] ret_from_fork_asm+0x1a/0x30 [ 32.686139][ C3] INITIAL USE at: [ 32.686238][ C3] __lock_acquire+0x797/0x1570 [ 32.686404][ C3] lock_acquire.part.0+0xeb/0x330 [ 32.686571][ C3] _raw_spin_lock+0x30/0x40 [ 32.686737][ C3] set_mems_allowed+0x1d/0x210 [ 32.686905][ C3] kernel_init_freeable+0x72/0x310 [ 32.687074][ C3] kernel_init+0x20/0x200 [ 32.687238][ C3] ret_from_fork+0x31/0x70 [ 32.687404][ C3] ret_from_fork_asm+0x1a/0x30 [ 32.687570][ C3] } [ 32.687639][ C3] ... key at: [] __key.387+0x0/0x40 [ 32.687837][ C3] ... acquired at: [ 32.687935][ C3] __lock_acquire+0xaf0/0x1570 [ 32.688073][ C3] lock_acquire.part.0+0xeb/0x330 [ 32.688205][ C3] _raw_spin_lock+0x30/0x40 [ 32.688336][ C3] __get_task_comm+0x27/0x70 [ 32.688472][ C3] ref_tracker_alloc+0x2ee/0x490 [ 32.688607][ C3] netdev_get_by_index+0x5e/0x80 [ 32.688740][ C3] fib6_nh_init+0x3d8/0x15b0 [ 32.688873][ C3] ip6_route_info_create+0xf18/0x17d0 [ 32.689007][ C3] ip6_route_add+0x1c/0x140 [ 32.689150][ C3] addrconf_prefix_route+0x1cc/0x2b0 [ 32.689283][ C3] addrconf_permanent_addr+0x32f/0x670 [ 32.689414][ C3] addrconf_notify+0x749/0xd60 [ 32.689545][ C3] notifier_call_chain+0xcd/0x150 [ 32.689678][ C3] __dev_notify_flags+0xe6/0x250 [ 32.689811][ C3] dev_change_flags+0xec/0x160 [ 32.689943][ C3] do_setlink+0x7d6/0x21e0 [ 32.690074][ C3] __rtnl_newlink+0xaa7/0xd80 [ 32.690208][ C3] rtnl_newlink+0x63/0xa0 [ 32.690342][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 32.690474][ C3] netlink_rcv_skb+0x130/0x360 [ 32.690606][ C3] netlink_unicast+0x449/0x710 [ 32.690737][ C3] netlink_sendmsg+0x723/0xbe0 [ 32.690870][ C3] ____sys_sendmsg+0x7b2/0xa10 [ 32.691001][ C3] ___sys_sendmsg+0xee/0x170 [ 32.691133][ C3] __sys_sendmsg+0xcd/0x170 [ 32.691265][ C3] do_syscall_64+0xc6/0x1e0 [ 32.691405][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 32.691577][ C3] [ 32.691645][ C3] -> (&ndev->lock){++-.}-{2:2} { [ 32.691782][ C3] HARDIRQ-ON-W at: [ 32.691883][ C3] __lock_acquire+0x797/0x1570 [ 32.692051][ C3] lock_acquire.part.0+0xeb/0x330 [ 32.692217][ C3] _raw_write_lock_bh+0x38/0x50 [ 32.692382][ C3] addrconf_permanent_addr+0x6e/0x670 [ 32.692553][ C3] addrconf_notify+0x749/0xd60 [ 32.692724][ C3] notifier_call_chain+0xcd/0x150 [ 32.692890][ C3] __dev_notify_flags+0xe6/0x250 [ 32.693055][ C3] dev_change_flags+0xec/0x160 [ 32.693222][ C3] do_setlink+0x7d6/0x21e0 [ 32.693390][ C3] __rtnl_newlink+0xaa7/0xd80 [ 32.693560][ C3] rtnl_newlink+0x63/0xa0 [ 32.693728][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 32.693895][ C3] netlink_rcv_skb+0x130/0x360 [ 32.694063][ C3] netlink_unicast+0x449/0x710 [ 32.694228][ C3] netlink_sendmsg+0x723/0xbe0 [ 32.694395][ C3] ____sys_sendmsg+0x7b2/0xa10 [ 32.694560][ C3] ___sys_sendmsg+0xee/0x170 [ 32.694728][ C3] __sys_sendmsg+0xcd/0x170 [ 32.694894][ C3] do_syscall_64+0xc6/0x1e0 [ 32.695060][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 32.695260][ C3] HARDIRQ-ON-R at: [ 32.695359][ C3] __lock_acquire+0x797/0x1570 [ 32.695528][ C3] lock_acquire.part.0+0xeb/0x330 [ 32.695693][ C3] _raw_read_lock_bh+0x44/0x80 [ 32.695863][ C3] inet6_fill_ifla6_attrs+0x516/0x740 [ 32.696031][ C3] inet6_fill_link_af+0x5e/0xe0 [ 32.696196][ C3] rtnl_fill_ifinfo+0x1612/0x29e0 [ 32.696362][ C3] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 32.696529][ C3] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 32.696733][ C3] rtmsg_ifinfo+0x5b/0xa0 [ 32.696897][ C3] register_netdevice+0x1177/0x1690 [ 32.697064][ C3] register_netdev+0x20/0x40 [ 32.697229][ C3] sit_init_net+0x250/0x4f0 [ 32.697394][ C3] ops_init+0x9b/0x560 [ 32.697529][ C3] register_pernet_operations+0x2db/0x710 [ 32.697728][ C3] register_pernet_device+0x2a/0x60 [ 32.697899][ C3] sit_init+0x23/0xe0 [ 32.698033][ C3] do_one_initcall+0x8d/0x1e0 [ 32.698200][ C3] do_initcalls+0x1b2/0x3e0 [ 32.698368][ C3] kernel_init_freeable+0x232/0x310 [ 32.698534][ C3] kernel_init+0x20/0x200 [ 32.698697][ C3] ret_from_fork+0x31/0x70 [ 32.698865][ C3] ret_from_fork_asm+0x1a/0x30 [ 32.699034][ C3] IN-SOFTIRQ-W at: [ 32.699132][ C3] __lock_acquire+0x797/0x1570 [ 32.699298][ C3] lock_acquire.part.0+0xeb/0x330 [ 32.699462][ C3] _raw_write_lock+0x30/0x40 [ 32.699625][ C3] addrconf_rs_timer+0xa9/0x730 [ 32.699787][ C3] call_timer_fn+0x13b/0x230 [ 32.699955][ C3] __run_timers+0x545/0x810 [ 32.700120][ C3] run_timer_softirq+0xe8/0x1b0 [ 32.700284][ C3] __do_softirq+0x1f8/0x5df [ 32.700447][ C3] irq_exit_rcu+0x97/0xc0 [ 32.700612][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 32.700808][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 32.701009][ C3] default_idle+0xf/0x20 [ 32.701175][ C3] default_idle_call+0x6d/0xb0 [ 32.701338][ C3] cpuidle_idle_call+0x1f4/0x280 [ 32.701501][ C3] do_idle+0xf9/0x160 [ 32.701634][ C3] cpu_startup_entry+0x54/0x60 [ 32.701798][ C3] start_secondary+0x21c/0x2b0 [ 32.701963][ C3] common_startup_64+0x12c/0x138 [ 32.702129][ C3] INITIAL USE at: [ 32.702229][ C3] __lock_acquire+0x797/0x1570 [ 32.702392][ C3] lock_acquire.part.0+0xeb/0x330 [ 32.702559][ C3] _raw_write_lock_bh+0x38/0x50 [ 32.702723][ C3] addrconf_permanent_addr+0x6e/0x670 [ 32.702885][ C3] addrconf_notify+0x749/0xd60 [ 32.703046][ C3] notifier_call_chain+0xcd/0x150 [ 32.703211][ C3] __dev_notify_flags+0xe6/0x250 [ 32.703378][ C3] dev_change_flags+0xec/0x160 [ 32.703540][ C3] do_setlink+0x7d6/0x21e0 [ 32.703703][ C3] __rtnl_newlink+0xaa7/0xd80 [ 32.703868][ C3] rtnl_newlink+0x63/0xa0 [ 32.704034][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 32.704201][ C3] netlink_rcv_skb+0x130/0x360 [ 32.704365][ C3] netlink_unicast+0x449/0x710 [ 32.704528][ C3] netlink_sendmsg+0x723/0xbe0 [ 32.704691][ C3] ____sys_sendmsg+0x7b2/0xa10 [ 32.704856][ C3] ___sys_sendmsg+0xee/0x170 [ 32.705020][ C3] __sys_sendmsg+0xcd/0x170 [ 32.705182][ C3] do_syscall_64+0xc6/0x1e0 [ 32.705349][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 32.705544][ C3] INITIAL READ USE at: [ 32.705646][ C3] __lock_acquire+0x797/0x1570 [ 32.705809][ C3] lock_acquire.part.0+0xeb/0x330 [ 32.705972][ C3] _raw_read_lock_bh+0x44/0x80 [ 32.706135][ C3] inet6_fill_ifla6_attrs+0x516/0x740 [ 32.706332][ C3] inet6_fill_link_af+0x5e/0xe0 [ 32.706498][ C3] rtnl_fill_ifinfo+0x1612/0x29e0 [ 32.706737][ C3] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 32.706932][ C3] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 32.707126][ C3] rtmsg_ifinfo+0x5b/0xa0 [ 32.707364][ C3] register_netdevice+0x1177/0x1690 [ 32.707565][ C3] register_netdev+0x20/0x40 [ 32.707727][ C3] sit_init_net+0x250/0x4f0 [ 32.707889][ C3] ops_init+0x9b/0x560 [ 32.708126][ C3] register_pernet_operations+0x2db/0x710 [ 32.708323][ C3] register_pernet_device+0x2a/0x60 [ 32.708518][ C3] sit_init+0x23/0xe0 [ 32.708832][ C3] do_one_initcall+0x8d/0x1e0 [ 32.708998][ C3] do_initcalls+0x1b2/0x3e0 [ 32.709171][ C3] kernel_init_freeable+0x232/0x310 [ 32.709442][ C3] kernel_init+0x20/0x200 [ 32.709604][ C3] ret_from_fork+0x31/0x70 [ 32.709768][ C3] ret_from_fork_asm+0x1a/0x30 [ 32.710008][ C3] } [ 32.710075][ C3] ... key at: [] __key.36+0x0/0x40 [ 32.710270][ C3] ... acquired at: [ 32.710366][ C3] mark_lock+0x28d/0x3e0 [ 32.710496][ C3] mark_usage+0xd9/0x2a0 [ 32.710699][ C3] __lock_acquire+0x797/0x1570 [ 32.710829][ C3] lock_acquire.part.0+0xeb/0x330 [ 32.710959][ C3] _raw_write_lock+0x30/0x40 [ 32.711092][ C3] addrconf_rs_timer+0xa9/0x730 [ 32.711298][ C3] call_timer_fn+0x13b/0x230 [ 32.711427][ C3] __run_timers+0x545/0x810 [ 32.711559][ C3] run_timer_softirq+0xe8/0x1b0 [ 32.711689][ C3] __do_softirq+0x1f8/0x5df [ 32.711895][ C3] irq_exit_rcu+0x97/0xc0 [ 32.712025][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 32.712188][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 32.712350][ C3] default_idle+0xf/0x20 [ 32.712482][ C3] default_idle_call+0x6d/0xb0 [ 32.712611][ C3] cpuidle_idle_call+0x1f4/0x280 [ 32.712741][ C3] do_idle+0xf9/0x160 [ 32.712839][ C3] cpu_startup_entry+0x54/0x60 [ 32.713044][ C3] start_secondary+0x21c/0x2b0 [ 32.713174][ C3] common_startup_64+0x12c/0x138 [ 32.713303][ C3] [ 32.713368][ C3] [ 32.713368][ C3] stack backtrace: [ 32.713530][ C3] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 6.9.0-rc1-virtme #1 [ 32.713802][ C3] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 32.714089][ C3] Call Trace: [ 32.714190][ C3] [ 32.714330][ C3] dump_stack_lvl+0x82/0xd0 [ 32.714465][ C3] print_irq_inversion_bug.part.0+0x3d9/0x570 [ 32.714625][ C3] ? kernel_text_address+0x17/0xe0 [ 32.714761][ C3] ? __pfx_print_irq_inversion_bug.part.0+0x10/0x10 [ 32.714998][ C3] ? __pfx_usage_skip+0x10/0x10 [ 32.715128][ C3] ? __pfx_usage_match+0x10/0x10 [ 32.715256][ C3] ? arch_stack_walk+0x8c/0xf0 [ 32.715387][ C3] mark_lock_irq+0x4cd/0xa10 [ 32.715589][ C3] ? common_startup_64+0x12c/0x138 [ 32.715719][ C3] ? __pfx_mark_lock_irq+0x10/0x10 [ 32.715851][ C3] ? __pfx_stack_trace_save+0x10/0x10 [ 32.715986][ C3] ? save_trace+0x8f/0x5b0 [ 32.716190][ C3] mark_lock+0x28d/0x3e0 [ 32.716288][ C3] ? __pfx_stack_trace_save+0x10/0x10 [ 32.716417][ C3] mark_usage+0xd9/0x2a0 [ 32.716516][ C3] __lock_acquire+0x797/0x1570 [ 32.716652][ C3] ? __pfx_validate_chain+0x10/0x10 [ 32.716858][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 32.716988][ C3] lock_acquire.part.0+0xeb/0x330 [ 32.717120][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 32.717250][ C3] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 32.717381][ C3] ? trace_lock_acquire+0x135/0x1c0 [ 32.717510][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 32.717641][ C3] ? lock_acquire+0x32/0xc0 [ 32.717770][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 32.717899][ C3] _raw_write_lock+0x30/0x40 [ 32.718102][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 32.718230][ C3] addrconf_rs_timer+0xa9/0x730 [ 32.718364][ C3] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 32.718497][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 32.718773][ C3] ? call_timer_fn+0xe8/0x230 [ 32.718902][ C3] ? lock_acquire+0x32/0xc0 [ 32.719035][ C3] ? call_timer_fn+0xe8/0x230 [ 32.719165][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 32.719369][ C3] call_timer_fn+0x13b/0x230 [ 32.719501][ C3] ? call_timer_fn+0xe8/0x230 [ 32.719633][ C3] ? call_timer_fn+0xe8/0x230 [ 32.719763][ C3] ? __pfx_call_timer_fn+0x10/0x10 [ 32.719964][ C3] ? mark_lock+0x38/0x3e0 [ 32.720066][ C3] __run_timers+0x545/0x810 [ 32.720196][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 32.720326][ C3] ? __pfx___run_timers+0x10/0x10 [ 32.720459][ C3] ? do_raw_spin_lock+0x131/0x270 [ 32.720662][ C3] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 32.720793][ C3] ? lock_acquire+0x32/0xc0 [ 32.720923][ C3] ? run_timer_softirq+0xe0/0x1b0 [ 32.721054][ C3] run_timer_softirq+0xe8/0x1b0 [ 32.721256][ C3] __do_softirq+0x1f8/0x5df [ 32.721390][ C3] irq_exit_rcu+0x97/0xc0 [ 32.721488][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 32.721617][ C3] [ 32.721683][ C3] [ 32.721749][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 32.721992][ C3] RIP: 0010:default_idle+0xf/0x20 [ 32.722132][ 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 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.722593][ C3] RSP: 0018:ffffc9000016fdf8 EFLAGS: 00000246 [ 32.722758][ C3] RAX: 00000000000944bb RBX: 1ffff9200002dfc1 RCX: ffffffffa2fa48b5 [ 32.722952][ C3] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffa08aa4a4 [ 32.723230][ C3] RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed1006c3709c [ 32.723423][ C3] R10: ffff8880361b84e3 R11: ffff8880361ad9b0 R12: 0000000000000000 [ 32.723692][ C3] R13: ffff888001b90040 R14: dffffc0000000000 R15: 0000000000000000 [ 32.723888][ C3] ? ct_kernel_exit.constprop.0+0xc5/0xf0 [ 32.724020][ C3] ? cpuidle_idle_call+0x1f4/0x280 [ 32.724153][ C3] default_idle_call+0x6d/0xb0 [ 32.724354][ C3] cpuidle_idle_call+0x1f4/0x280 [ 32.724484][ C3] ? __pfx_cpuidle_idle_call+0x10/0x10 [ 32.724613][ C3] ? tsc_verify_tsc_adjust+0x5e/0x2b0 [ 32.724744][ C3] do_idle+0xf9/0x160 [ 32.724843][ C3] cpu_startup_entry+0x54/0x60 [ 32.725047][ C3] start_secondary+0x21c/0x2b0 [ 32.725176][ C3] ? __pfx_start_secondary+0x10/0x10 [ 32.725310][ C3] common_startup_64+0x12c/0x138 [ 32.725443][ C3]