[ 30.661709][ T294] netem: version 1.3 [ 33.830988][ C3] [ 33.831123][ C3] ======================================================== [ 33.831324][ C3] WARNING: possible irq lock inversion dependency detected [ 33.831518][ C3] 6.9.0-rc1-virtme #1 Not tainted [ 33.831649][ C3] -------------------------------------------------------- [ 33.831844][ C3] swapper/3/0 just changed the state of lock: [ 33.832014][ C3] ffff8880066dd580 (&ndev->lock){++-.}-{2:2}, at: addrconf_rs_timer+0xa9/0x730 [ 33.832265][ C3] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 33.832458][ C3] (&p->alloc_lock){+.+.}-{2:2} [ 33.832462][ C3] [ 33.832462][ C3] [ 33.832462][ C3] and interrupts could create inverse lock ordering between them. [ 33.832462][ C3] [ 33.832944][ C3] [ 33.832944][ C3] other info that might help us debug this: [ 33.833138][ C3] Possible interrupt unsafe locking scenario: [ 33.833138][ C3] [ 33.833340][ C3] CPU0 CPU1 [ 33.833473][ C3] ---- ---- [ 33.833605][ C3] lock(&p->alloc_lock); [ 33.833718][ C3] local_irq_disable(); [ 33.833884][ C3] lock(&ndev->lock); [ 33.834053][ C3] lock(&p->alloc_lock); [ 33.834218][ C3] [ 33.834318][ C3] lock(&ndev->lock); [ 33.834422][ C3] [ 33.834422][ C3] *** DEADLOCK *** [ 33.834422][ C3] [ 33.834615][ C3] 1 lock held by swapper/3/0: [ 33.834747][ C3] #0: ffffc90000288d68 ((&ndev->rs_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 33.834989][ C3] [ 33.834989][ C3] the shortest dependencies between 2nd lock and 1st lock: [ 33.835215][ C3] -> (&p->alloc_lock){+.+.}-{2:2} { [ 33.835353][ C3] HARDIRQ-ON-W at: [ 33.835462][ C3] __lock_acquire+0x797/0x1570 [ 33.835645][ C3] lock_acquire.part.0+0xeb/0x330 [ 33.835812][ C3] _raw_spin_lock+0x30/0x40 [ 33.835979][ C3] set_mems_allowed+0x1d/0x210 [ 33.836147][ C3] kernel_init_freeable+0x72/0x310 [ 33.836314][ C3] kernel_init+0x20/0x200 [ 33.836480][ C3] ret_from_fork+0x31/0x70 [ 33.836653][ C3] ret_from_fork_asm+0x1a/0x30 [ 33.836819][ C3] SOFTIRQ-ON-W at: [ 33.836918][ C3] __lock_acquire+0x797/0x1570 [ 33.837085][ C3] lock_acquire.part.0+0xeb/0x330 [ 33.837252][ C3] _raw_spin_lock+0x30/0x40 [ 33.837418][ C3] set_mems_allowed+0x1d/0x210 [ 33.837586][ C3] kernel_init_freeable+0x72/0x310 [ 33.837751][ C3] kernel_init+0x20/0x200 [ 33.837918][ C3] ret_from_fork+0x31/0x70 [ 33.838085][ C3] ret_from_fork_asm+0x1a/0x30 [ 33.838257][ C3] INITIAL USE at: [ 33.838358][ C3] __lock_acquire+0x797/0x1570 [ 33.838526][ C3] lock_acquire.part.0+0xeb/0x330 [ 33.838700][ C3] _raw_spin_lock+0x30/0x40 [ 33.838864][ C3] set_mems_allowed+0x1d/0x210 [ 33.839035][ C3] kernel_init_freeable+0x72/0x310 [ 33.839200][ C3] kernel_init+0x20/0x200 [ 33.839366][ C3] ret_from_fork+0x31/0x70 [ 33.839542][ C3] ret_from_fork_asm+0x1a/0x30 [ 33.839710][ C3] } [ 33.839779][ C3] ... key at: [] __key.387+0x0/0x40 [ 33.839982][ C3] ... acquired at: [ 33.840082][ C3] __lock_acquire+0xaf0/0x1570 [ 33.840215][ C3] lock_acquire.part.0+0xeb/0x330 [ 33.840352][ C3] _raw_spin_lock+0x30/0x40 [ 33.840483][ C3] __get_task_comm+0x27/0x70 [ 33.840617][ C3] ref_tracker_alloc+0x2ee/0x490 [ 33.840754][ C3] netdev_get_by_index+0x5e/0x80 [ 33.840892][ C3] fib6_nh_init+0x3d8/0x15b0 [ 33.841027][ C3] ip6_route_info_create+0xf18/0x17d0 [ 33.841158][ C3] ip6_route_add+0x1c/0x140 [ 33.841290][ C3] addrconf_prefix_route+0x1cc/0x2b0 [ 33.841421][ C3] addrconf_permanent_addr+0x32f/0x670 [ 33.841562][ C3] addrconf_notify+0x749/0xd60 [ 33.841694][ C3] notifier_call_chain+0xcd/0x150 [ 33.841831][ C3] __dev_notify_flags+0xe6/0x250 [ 33.841964][ C3] dev_change_flags+0xec/0x160 [ 33.842096][ C3] do_setlink+0x7d6/0x21e0 [ 33.842228][ C3] __rtnl_newlink+0xaa7/0xd80 [ 33.842362][ C3] rtnl_newlink+0x63/0xa0 [ 33.842497][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 33.842627][ C3] netlink_rcv_skb+0x130/0x360 [ 33.842761][ C3] netlink_unicast+0x449/0x710 [ 33.842894][ C3] netlink_sendmsg+0x723/0xbe0 [ 33.843030][ C3] ____sys_sendmsg+0x7b2/0xa10 [ 33.843160][ C3] ___sys_sendmsg+0xee/0x170 [ 33.843295][ C3] __sys_sendmsg+0xcd/0x170 [ 33.843426][ C3] do_syscall_64+0xc6/0x1e0 [ 33.843560][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 33.843730][ C3] [ 33.843797][ C3] -> (&ndev->lock){++-.}-{2:2} { [ 33.843935][ C3] HARDIRQ-ON-W at: [ 33.844037][ C3] __lock_acquire+0x797/0x1570 [ 33.844214][ C3] lock_acquire.part.0+0xeb/0x330 [ 33.844377][ C3] _raw_write_lock_bh+0x38/0x50 [ 33.844540][ C3] addrconf_permanent_addr+0x6e/0x670 [ 33.844704][ C3] addrconf_notify+0x749/0xd60 [ 33.844867][ C3] notifier_call_chain+0xcd/0x150 [ 33.845038][ C3] __dev_notify_flags+0xe6/0x250 [ 33.845202][ C3] dev_change_flags+0xec/0x160 [ 33.845366][ C3] do_setlink+0x7d6/0x21e0 [ 33.845528][ C3] __rtnl_newlink+0xaa7/0xd80 [ 33.845692][ C3] rtnl_newlink+0x63/0xa0 [ 33.845860][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 33.846033][ C3] netlink_rcv_skb+0x130/0x360 [ 33.846199][ C3] netlink_unicast+0x449/0x710 [ 33.846363][ C3] netlink_sendmsg+0x723/0xbe0 [ 33.846527][ C3] ____sys_sendmsg+0x7b2/0xa10 [ 33.846691][ C3] ___sys_sendmsg+0xee/0x170 [ 33.846852][ C3] __sys_sendmsg+0xcd/0x170 [ 33.847018][ C3] do_syscall_64+0xc6/0x1e0 [ 33.847181][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 33.847382][ C3] HARDIRQ-ON-R at: [ 33.847482][ C3] __lock_acquire+0x797/0x1570 [ 33.847646][ C3] lock_acquire.part.0+0xeb/0x330 [ 33.847810][ C3] _raw_read_lock_bh+0x44/0x80 [ 33.847976][ C3] inet6_fill_ifla6_attrs+0x516/0x740 [ 33.848142][ C3] inet6_fill_link_af+0x5e/0xe0 [ 33.848316][ C3] rtnl_fill_ifinfo+0x1612/0x29e0 [ 33.848479][ C3] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 33.848644][ C3] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 33.848848][ C3] rtmsg_ifinfo+0x5b/0xa0 [ 33.849013][ C3] register_netdevice+0x1177/0x1690 [ 33.849181][ C3] register_netdev+0x20/0x40 [ 33.849346][ C3] sit_init_net+0x250/0x4f0 [ 33.849509][ C3] ops_init+0x9b/0x560 [ 33.849642][ C3] register_pernet_operations+0x2db/0x710 [ 33.849838][ C3] register_pernet_device+0x2a/0x60 [ 33.850007][ C3] sit_init+0x23/0xe0 [ 33.850139][ C3] do_one_initcall+0x8d/0x1e0 [ 33.850304][ C3] do_initcalls+0x1b2/0x3e0 [ 33.850471][ C3] kernel_init_freeable+0x232/0x310 [ 33.850634][ C3] kernel_init+0x20/0x200 [ 33.850800][ C3] ret_from_fork+0x31/0x70 [ 33.850968][ C3] ret_from_fork_asm+0x1a/0x30 [ 33.851131][ C3] IN-SOFTIRQ-W at: [ 33.851229][ C3] __lock_acquire+0x797/0x1570 [ 33.851394][ C3] lock_acquire.part.0+0xeb/0x330 [ 33.851563][ C3] _raw_write_lock+0x30/0x40 [ 33.851727][ C3] addrconf_rs_timer+0xa9/0x730 [ 33.851889][ C3] call_timer_fn+0x13b/0x230 [ 33.852061][ C3] __run_timers+0x545/0x810 [ 33.852225][ C3] run_timer_softirq+0xe8/0x1b0 [ 33.852391][ C3] __do_softirq+0x1f8/0x5df [ 33.852559][ C3] irq_exit_rcu+0x97/0xc0 [ 33.852724][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 33.852922][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 33.853120][ C3] default_idle+0xf/0x20 [ 33.853293][ C3] default_idle_call+0x6d/0xb0 [ 33.853457][ C3] cpuidle_idle_call+0x1f4/0x280 [ 33.853626][ C3] do_idle+0xf9/0x160 [ 33.853767][ C3] cpu_startup_entry+0x54/0x60 [ 33.853937][ C3] start_secondary+0x21c/0x2b0 [ 33.854108][ C3] common_startup_64+0x12c/0x138 [ 33.854273][ C3] INITIAL USE at: [ 33.854372][ C3] __lock_acquire+0x797/0x1570 [ 33.854536][ C3] lock_acquire.part.0+0xeb/0x330 [ 33.854703][ C3] _raw_write_lock_bh+0x38/0x50 [ 33.854872][ C3] addrconf_permanent_addr+0x6e/0x670 [ 33.855038][ C3] addrconf_notify+0x749/0xd60 [ 33.855200][ C3] notifier_call_chain+0xcd/0x150 [ 33.855365][ C3] __dev_notify_flags+0xe6/0x250 [ 33.855528][ C3] dev_change_flags+0xec/0x160 [ 33.855701][ C3] do_setlink+0x7d6/0x21e0 [ 33.855864][ C3] __rtnl_newlink+0xaa7/0xd80 [ 33.856033][ C3] rtnl_newlink+0x63/0xa0 [ 33.856197][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 33.856361][ C3] netlink_rcv_skb+0x130/0x360 [ 33.856537][ C3] netlink_unicast+0x449/0x710 [ 33.856701][ C3] netlink_sendmsg+0x723/0xbe0 [ 33.856868][ C3] ____sys_sendmsg+0x7b2/0xa10 [ 33.857034][ C3] ___sys_sendmsg+0xee/0x170 [ 33.857199][ C3] __sys_sendmsg+0xcd/0x170 [ 33.857368][ C3] do_syscall_64+0xc6/0x1e0 [ 33.857533][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 33.857732][ C3] INITIAL READ USE at: [ 33.857831][ C3] __lock_acquire+0x797/0x1570 [ 33.858001][ C3] lock_acquire.part.0+0xeb/0x330 [ 33.858165][ C3] _raw_read_lock_bh+0x44/0x80 [ 33.858414][ C3] inet6_fill_ifla6_attrs+0x516/0x740 [ 33.858610][ C3] inet6_fill_link_af+0x5e/0xe0 [ 33.858774][ C3] rtnl_fill_ifinfo+0x1612/0x29e0 [ 33.859023][ C3] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 33.859225][ C3] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 33.859421][ C3] rtmsg_ifinfo+0x5b/0xa0 [ 33.859585][ C3] register_netdevice+0x1177/0x1690 [ 33.859788][ C3] register_netdev+0x20/0x40 [ 33.859953][ C3] sit_init_net+0x250/0x4f0 [ 33.860202][ C3] ops_init+0x9b/0x560 [ 33.860372][ C3] register_pernet_operations+0x2db/0x710 [ 33.860567][ C3] register_pernet_device+0x2a/0x60 [ 33.860838][ C3] sit_init+0x23/0xe0 [ 33.861011][ C3] do_one_initcall+0x8d/0x1e0 [ 33.861174][ C3] do_initcalls+0x1b2/0x3e0 [ 33.861341][ C3] kernel_init_freeable+0x232/0x310 [ 33.861612][ C3] kernel_init+0x20/0x200 [ 33.861775][ C3] ret_from_fork+0x31/0x70 [ 33.861947][ C3] ret_from_fork_asm+0x1a/0x30 [ 33.862185][ C3] } [ 33.862251][ C3] ... key at: [] __key.36+0x0/0x40 [ 33.862445][ C3] ... acquired at: [ 33.862548][ C3] mark_lock+0x28d/0x3e0 [ 33.862756][ C3] mark_usage+0xd9/0x2a0 [ 33.862891][ C3] __lock_acquire+0x797/0x1570 [ 33.863024][ C3] lock_acquire.part.0+0xeb/0x330 [ 33.863155][ C3] _raw_write_lock+0x30/0x40 [ 33.863359][ C3] addrconf_rs_timer+0xa9/0x730 [ 33.863489][ C3] call_timer_fn+0x13b/0x230 [ 33.863619][ C3] __run_timers+0x545/0x810 [ 33.863759][ C3] run_timer_softirq+0xe8/0x1b0 [ 33.864264][ C3] __do_softirq+0x1f8/0x5df [ 33.864468][ C3] irq_exit_rcu+0x97/0xc0 [ 33.864600][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 33.864761][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 33.865000][ C3] default_idle+0xf/0x20 [ 33.865136][ C3] default_idle_call+0x6d/0xb0 [ 33.865266][ C3] cpuidle_idle_call+0x1f4/0x280 [ 33.865397][ C3] do_idle+0xf9/0x160 [ 33.865502][ C3] cpu_startup_entry+0x54/0x60 [ 33.865634][ C3] start_secondary+0x21c/0x2b0 [ 33.865766][ C3] common_startup_64+0x12c/0x138 [ 33.865897][ C3] [ 33.865970][ C3] [ 33.865970][ C3] stack backtrace: [ 33.866209][ C3] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 6.9.0-rc1-virtme #1 [ 33.866405][ C3] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 33.866693][ C3] Call Trace: [ 33.866869][ C3] [ 33.866943][ C3] dump_stack_lvl+0x82/0xd0 [ 33.867080][ C3] print_irq_inversion_bug.part.0+0x3d9/0x570 [ 33.867242][ C3] ? kernel_text_address+0x17/0xe0 [ 33.867375][ C3] ? __pfx_print_irq_inversion_bug.part.0+0x10/0x10 [ 33.867610][ C3] ? __pfx_usage_skip+0x10/0x10 [ 33.867740][ C3] ? __pfx_usage_match+0x10/0x10 [ 33.867874][ C3] ? arch_stack_walk+0x8c/0xf0 [ 33.868009][ C3] mark_lock_irq+0x4cd/0xa10 [ 33.868294][ C3] ? common_startup_64+0x12c/0x138 [ 33.868425][ C3] ? __pfx_mark_lock_irq+0x10/0x10 [ 33.868555][ C3] ? __pfx_stack_trace_save+0x10/0x10 [ 33.868687][ C3] ? save_trace+0x8f/0x5b0 [ 33.868894][ C3] mark_lock+0x28d/0x3e0 [ 33.868995][ C3] ? __pfx_stack_trace_save+0x10/0x10 [ 33.869128][ C3] mark_usage+0xd9/0x2a0 [ 33.869228][ C3] __lock_acquire+0x797/0x1570 [ 33.869360][ C3] ? __pfx_validate_chain+0x10/0x10 [ 33.869564][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 33.869693][ C3] lock_acquire.part.0+0xeb/0x330 [ 33.869825][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 33.869964][ C3] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 33.870168][ C3] ? trace_lock_acquire+0x135/0x1c0 [ 33.870302][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 33.870431][ C3] ? lock_acquire+0x32/0xc0 [ 33.870561][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 33.870766][ C3] _raw_write_lock+0x30/0x40 [ 33.870895][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 33.871026][ C3] addrconf_rs_timer+0xa9/0x730 [ 33.871155][ C3] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 33.871359][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 33.871489][ C3] ? call_timer_fn+0xe8/0x230 [ 33.871622][ C3] ? lock_acquire+0x32/0xc0 [ 33.871753][ C3] ? call_timer_fn+0xe8/0x230 [ 33.871883][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 33.872090][ C3] call_timer_fn+0x13b/0x230 [ 33.872220][ C3] ? call_timer_fn+0xe8/0x230 [ 33.872350][ C3] ? call_timer_fn+0xe8/0x230 [ 33.872480][ C3] ? __pfx_call_timer_fn+0x10/0x10 [ 33.872612][ C3] ? mark_lock+0x38/0x3e0 [ 33.872714][ C3] __run_timers+0x545/0x810 [ 33.872847][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 33.872979][ C3] ? __pfx___run_timers+0x10/0x10 [ 33.873183][ C3] ? do_raw_spin_lock+0x131/0x270 [ 33.873313][ C3] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 33.873444][ C3] ? lock_acquire+0x32/0xc0 [ 33.873574][ C3] ? run_timer_softirq+0xe0/0x1b0 [ 33.873712][ C3] run_timer_softirq+0xe8/0x1b0 [ 33.873917][ C3] __do_softirq+0x1f8/0x5df [ 33.874054][ C3] irq_exit_rcu+0x97/0xc0 [ 33.874152][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 33.874282][ C3] [ 33.874351][ C3] [ 33.874491][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 33.874654][ C3] RIP: 0010:default_idle+0xf/0x20 [ 33.874790][ 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 [ 33.875334][ C3] RSP: 0018:ffffc9000016fdf8 EFLAGS: 00000242 [ 33.875509][ C3] RAX: 00000000000abfa1 RBX: 1ffff9200002dfc1 RCX: ffffffffb27a48b5 [ 33.875779][ C3] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffffb00aa4a4 [ 33.875983][ C3] RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed1006c3709c [ 33.876185][ C3] R10: ffff8880361b84e3 R11: ffff8880361bde40 R12: 0000000000000000 [ 33.876458][ C3] R13: ffff888001b90040 R14: dffffc0000000000 R15: 0000000000000000 [ 33.876662][ C3] ? ct_kernel_exit.constprop.0+0xc5/0xf0 [ 33.876792][ C3] ? cpuidle_idle_call+0x1f4/0x280 [ 33.876923][ C3] default_idle_call+0x6d/0xb0 [ 33.877134][ C3] cpuidle_idle_call+0x1f4/0x280 [ 33.877265][ C3] ? __pfx_cpuidle_idle_call+0x10/0x10 [ 33.877398][ C3] ? tsc_verify_tsc_adjust+0x5e/0x2b0 [ 33.877531][ C3] do_idle+0xf9/0x160 [ 33.877630][ C3] cpu_startup_entry+0x54/0x60 [ 33.877760][ C3] start_secondary+0x21c/0x2b0 [ 33.877891][ C3] ? __pfx_start_secondary+0x10/0x10 [ 33.878023][ C3] common_startup_64+0x12c/0x138 [ 33.878304][ C3]