[ 30.219381][ T294] netem: version 1.3 [ 33.064869][ C0] [ 33.065073][ C0] ======================================================== [ 33.065292][ C0] WARNING: possible irq lock inversion dependency detected [ 33.065506][ C0] 6.9.0-rc1-virtme #1 Not tainted [ 33.065651][ C0] -------------------------------------------------------- [ 33.065861][ C0] swapper/0/0 just changed the state of lock: [ 33.066049][ C0] ffff888007eb3d80 (&ndev->lock){++-.}-{2:2}, at: addrconf_rs_timer+0xa9/0x730 [ 33.066312][ C0] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 33.066532][ C0] (&p->alloc_lock){+.+.}-{2:2} [ 33.066536][ C0] [ 33.066536][ C0] [ 33.066536][ C0] and interrupts could create inverse lock ordering between them. [ 33.066536][ C0] [ 33.067066][ C0] [ 33.067066][ C0] other info that might help us debug this: [ 33.067290][ C0] Possible interrupt unsafe locking scenario: [ 33.067290][ C0] [ 33.067510][ C0] CPU0 CPU1 [ 33.067654][ C0] ---- ---- [ 33.067807][ C0] lock(&p->alloc_lock); [ 33.067916][ C0] local_irq_disable(); [ 33.068101][ C0] lock(&ndev->lock); [ 33.068281][ C0] lock(&p->alloc_lock); [ 33.068458][ C0] [ 33.068566][ C0] lock(&ndev->lock); [ 33.068679][ C0] [ 33.068679][ C0] *** DEADLOCK *** [ 33.068679][ C0] [ 33.068889][ C0] 1 lock held by swapper/0/0: [ 33.069034][ C0] #0: ffffc90000007d68 ((&ndev->rs_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 33.069297][ C0] [ 33.069297][ C0] the shortest dependencies between 2nd lock and 1st lock: [ 33.069542][ C0] -> (&p->alloc_lock){+.+.}-{2:2} { [ 33.069696][ C0] HARDIRQ-ON-W at: [ 33.069805][ C0] __lock_acquire+0x797/0x1570 [ 33.069997][ C0] lock_acquire.part.0+0xeb/0x330 [ 33.070183][ C0] _raw_spin_lock+0x30/0x40 [ 33.070369][ C0] set_mems_allowed+0x1d/0x210 [ 33.070553][ C0] kernel_init_freeable+0x72/0x310 [ 33.070733][ C0] kernel_init+0x20/0x200 [ 33.070918][ C0] ret_from_fork+0x31/0x70 [ 33.071103][ C0] ret_from_fork_asm+0x1a/0x30 [ 33.071282][ C0] SOFTIRQ-ON-W at: [ 33.071401][ C0] __lock_acquire+0x797/0x1570 [ 33.071580][ C0] lock_acquire.part.0+0xeb/0x330 [ 33.071767][ C0] _raw_spin_lock+0x30/0x40 [ 33.071949][ C0] set_mems_allowed+0x1d/0x210 [ 33.072128][ C0] kernel_init_freeable+0x72/0x310 [ 33.072306][ C0] kernel_init+0x20/0x200 [ 33.072488][ C0] ret_from_fork+0x31/0x70 [ 33.072667][ C0] ret_from_fork_asm+0x1a/0x30 [ 33.072848][ C0] INITIAL USE at: [ 33.072956][ C0] __lock_acquire+0x797/0x1570 [ 33.073135][ C0] lock_acquire.part.0+0xeb/0x330 [ 33.073314][ C0] _raw_spin_lock+0x30/0x40 [ 33.073500][ C0] set_mems_allowed+0x1d/0x210 [ 33.073686][ C0] kernel_init_freeable+0x72/0x310 [ 33.073868][ C0] kernel_init+0x20/0x200 [ 33.074046][ C0] ret_from_fork+0x31/0x70 [ 33.074232][ C0] ret_from_fork_asm+0x1a/0x30 [ 33.074412][ C0] } [ 33.074486][ C0] ... key at: [] __key.387+0x0/0x40 [ 33.074705][ C0] ... acquired at: [ 33.074814][ C0] __lock_acquire+0xaf0/0x1570 [ 33.074959][ C0] lock_acquire.part.0+0xeb/0x330 [ 33.075102][ C0] _raw_spin_lock+0x30/0x40 [ 33.075246][ C0] __get_task_comm+0x27/0x70 [ 33.075391][ C0] ref_tracker_alloc+0x2ee/0x490 [ 33.075536][ C0] netdev_get_by_index+0x5e/0x80 [ 33.075680][ C0] fib6_nh_init+0x3d8/0x15b0 [ 33.075828][ C0] ip6_route_info_create+0xf18/0x17d0 [ 33.075971][ C0] ip6_route_add+0x1c/0x140 [ 33.076117][ C0] addrconf_prefix_route+0x1cc/0x2b0 [ 33.076260][ C0] addrconf_permanent_addr+0x32f/0x670 [ 33.076402][ C0] addrconf_notify+0x749/0xd60 [ 33.076553][ C0] notifier_call_chain+0xcd/0x150 [ 33.076697][ C0] __dev_notify_flags+0xe6/0x250 [ 33.076840][ C0] dev_change_flags+0xec/0x160 [ 33.076992][ C0] do_setlink+0x7d6/0x21e0 [ 33.077138][ C0] __rtnl_newlink+0xaa7/0xd80 [ 33.077282][ C0] rtnl_newlink+0x63/0xa0 [ 33.077425][ C0] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 33.077568][ C0] netlink_rcv_skb+0x130/0x360 [ 33.077711][ C0] netlink_unicast+0x449/0x710 [ 33.077854][ C0] netlink_sendmsg+0x723/0xbe0 [ 33.078000][ C0] ____sys_sendmsg+0x7b2/0xa10 [ 33.078142][ C0] ___sys_sendmsg+0xee/0x170 [ 33.078288][ C0] __sys_sendmsg+0xcd/0x170 [ 33.078429][ C0] do_syscall_64+0xc6/0x1e0 [ 33.078574][ C0] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 33.078753][ C0] [ 33.078827][ C0] -> (&ndev->lock){++-.}-{2:2} { [ 33.078973][ C0] HARDIRQ-ON-W at: [ 33.079080][ C0] __lock_acquire+0x797/0x1570 [ 33.079260][ C0] lock_acquire.part.0+0xeb/0x330 [ 33.079444][ C0] _raw_write_lock_bh+0x38/0x50 [ 33.079623][ C0] addrconf_permanent_addr+0x6e/0x670 [ 33.079804][ C0] addrconf_notify+0x749/0xd60 [ 33.079986][ C0] notifier_call_chain+0xcd/0x150 [ 33.080164][ C0] __dev_notify_flags+0xe6/0x250 [ 33.080344][ C0] dev_change_flags+0xec/0x160 [ 33.080526][ C0] do_setlink+0x7d6/0x21e0 [ 33.080708][ C0] __rtnl_newlink+0xaa7/0xd80 [ 33.080887][ C0] rtnl_newlink+0x63/0xa0 [ 33.081068][ C0] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 33.081246][ C0] netlink_rcv_skb+0x130/0x360 [ 33.081424][ C0] netlink_unicast+0x449/0x710 [ 33.081606][ C0] netlink_sendmsg+0x723/0xbe0 [ 33.081791][ C0] ____sys_sendmsg+0x7b2/0xa10 [ 33.081969][ C0] ___sys_sendmsg+0xee/0x170 [ 33.082147][ C0] __sys_sendmsg+0xcd/0x170 [ 33.082326][ C0] do_syscall_64+0xc6/0x1e0 [ 33.082507][ C0] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 33.082723][ C0] HARDIRQ-ON-R at: [ 33.082833][ C0] __lock_acquire+0x797/0x1570 [ 33.083015][ C0] lock_acquire.part.0+0xeb/0x330 [ 33.083194][ C0] _raw_read_lock_bh+0x44/0x80 [ 33.083375][ C0] inet6_fill_ifla6_attrs+0x516/0x740 [ 33.083554][ C0] inet6_fill_link_af+0x5e/0xe0 [ 33.083732][ C0] rtnl_fill_ifinfo+0x1612/0x29e0 [ 33.083910][ C0] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 33.084093][ C0] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 33.084308][ C0] rtmsg_ifinfo+0x5b/0xa0 [ 33.084486][ C0] register_netdevice+0x1177/0x1690 [ 33.084666][ C0] register_netdev+0x20/0x40 [ 33.084844][ C0] sit_init_net+0x250/0x4f0 [ 33.085023][ C0] ops_init+0x9b/0x560 [ 33.085174][ C0] register_pernet_operations+0x2db/0x710 [ 33.085390][ C0] register_pernet_device+0x2a/0x60 [ 33.085569][ C0] sit_init+0x23/0xe0 [ 33.085715][ C0] do_one_initcall+0x8d/0x1e0 [ 33.085896][ C0] do_initcalls+0x1b2/0x3e0 [ 33.086076][ C0] kernel_init_freeable+0x232/0x310 [ 33.086258][ C0] kernel_init+0x20/0x200 [ 33.086438][ C0] ret_from_fork+0x31/0x70 [ 33.086622][ C0] ret_from_fork_asm+0x1a/0x30 [ 33.086801][ C0] IN-SOFTIRQ-W at: [ 33.086911][ C0] __lock_acquire+0x797/0x1570 [ 33.087092][ C0] lock_acquire.part.0+0xeb/0x330 [ 33.087270][ C0] _raw_write_lock+0x30/0x40 [ 33.087454][ C0] addrconf_rs_timer+0xa9/0x730 [ 33.087632][ C0] call_timer_fn+0x13b/0x230 [ 33.087818][ C0] __run_timers+0x545/0x810 [ 33.088005][ C0] run_timer_softirq+0xe8/0x1b0 [ 33.088184][ C0] __do_softirq+0x1f8/0x5df [ 33.088363][ C0] irq_exit_rcu+0x97/0xc0 [ 33.088546][ C0] sysvec_apic_timer_interrupt+0x75/0x80 [ 33.088766][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 33.088983][ C0] default_idle+0xf/0x20 [ 33.089164][ C0] default_idle_call+0x6d/0xb0 [ 33.089346][ C0] cpuidle_idle_call+0x1f4/0x280 [ 33.089525][ C0] do_idle+0xf9/0x160 [ 33.089672][ C0] cpu_startup_entry+0x54/0x60 [ 33.089859][ C0] rest_init+0x14f/0x260 [ 33.090038][ C0] start_kernel+0x318/0x3d0 [ 33.090218][ C0] x86_64_start_reservations+0x18/0x30 [ 33.090397][ C0] x86_64_start_kernel+0xba/0x110 [ 33.090577][ C0] common_startup_64+0x12c/0x138 [ 33.090757][ C0] INITIAL USE at: [ 33.090866][ C0] __lock_acquire+0x797/0x1570 [ 33.091048][ C0] lock_acquire.part.0+0xeb/0x330 [ 33.091227][ C0] _raw_write_lock_bh+0x38/0x50 [ 33.091407][ C0] addrconf_permanent_addr+0x6e/0x670 [ 33.091587][ C0] addrconf_notify+0x749/0xd60 [ 33.091773][ C0] notifier_call_chain+0xcd/0x150 [ 33.091951][ C0] __dev_notify_flags+0xe6/0x250 [ 33.092135][ C0] dev_change_flags+0xec/0x160 [ 33.092315][ C0] do_setlink+0x7d6/0x21e0 [ 33.092498][ C0] __rtnl_newlink+0xaa7/0xd80 [ 33.092681][ C0] rtnl_newlink+0x63/0xa0 [ 33.092860][ C0] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 33.093039][ C0] netlink_rcv_skb+0x130/0x360 [ 33.093221][ C0] netlink_unicast+0x449/0x710 [ 33.093402][ C0] netlink_sendmsg+0x723/0xbe0 [ 33.093581][ C0] ____sys_sendmsg+0x7b2/0xa10 [ 33.093759][ C0] ___sys_sendmsg+0xee/0x170 [ 33.093938][ C0] __sys_sendmsg+0xcd/0x170 [ 33.094116][ C0] do_syscall_64+0xc6/0x1e0 [ 33.094297][ C0] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 33.094605][ C0] INITIAL READ USE at: [ 33.094712][ C0] __lock_acquire+0x797/0x1570 [ 33.094892][ C0] lock_acquire.part.0+0xeb/0x330 [ 33.095071][ C0] _raw_read_lock_bh+0x44/0x80 [ 33.095341][ C0] inet6_fill_ifla6_attrs+0x516/0x740 [ 33.095555][ C0] inet6_fill_link_af+0x5e/0xe0 [ 33.095736][ C0] rtnl_fill_ifinfo+0x1612/0x29e0 [ 33.096006][ C0] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 33.096224][ C0] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 33.096438][ C0] rtmsg_ifinfo+0x5b/0xa0 [ 33.096615][ C0] register_netdevice+0x1177/0x1690 [ 33.096830][ C0] register_netdev+0x20/0x40 [ 33.097011][ C0] sit_init_net+0x250/0x4f0 [ 33.097191][ C0] ops_init+0x9b/0x560 [ 33.097459][ C0] register_pernet_operations+0x2db/0x710 [ 33.097672][ C0] register_pernet_device+0x2a/0x60 [ 33.097885][ C0] sit_init+0x23/0xe0 [ 33.098239][ C0] do_one_initcall+0x8d/0x1e0 [ 33.098424][ C0] do_initcalls+0x1b2/0x3e0 [ 33.098604][ C0] kernel_init_freeable+0x232/0x310 [ 33.098913][ C0] kernel_init+0x20/0x200 [ 33.099092][ C0] ret_from_fork+0x31/0x70 [ 33.099271][ C0] ret_from_fork_asm+0x1a/0x30 [ 33.099450][ C0] } [ 33.099523][ C0] ... key at: [] __key.36+0x0/0x40 [ 33.099737][ C0] ... acquired at: [ 33.099846][ C0] mark_lock+0x28d/0x3e0 [ 33.099990][ C0] mark_usage+0xd9/0x2a0 [ 33.100221][ C0] __lock_acquire+0x797/0x1570 [ 33.100363][ C0] lock_acquire.part.0+0xeb/0x330 [ 33.100507][ C0] _raw_write_lock+0x30/0x40 [ 33.100648][ C0] addrconf_rs_timer+0xa9/0x730 [ 33.100878][ C0] call_timer_fn+0x13b/0x230 [ 33.101029][ C0] __run_timers+0x545/0x810 [ 33.101172][ C0] run_timer_softirq+0xe8/0x1b0 [ 33.101315][ C0] __do_softirq+0x1f8/0x5df [ 33.101459][ C0] irq_exit_rcu+0x97/0xc0 [ 33.101601][ C0] sysvec_apic_timer_interrupt+0x75/0x80 [ 33.101784][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 33.101963][ C0] default_idle+0xf/0x20 [ 33.102106][ C0] default_idle_call+0x6d/0xb0 [ 33.102247][ C0] cpuidle_idle_call+0x1f4/0x280 [ 33.102392][ C0] do_idle+0xf9/0x160 [ 33.102501][ C0] cpu_startup_entry+0x54/0x60 [ 33.102729][ C0] rest_init+0x14f/0x260 [ 33.102873][ C0] start_kernel+0x318/0x3d0 [ 33.103013][ C0] x86_64_start_reservations+0x18/0x30 [ 33.103156][ C0] x86_64_start_kernel+0xba/0x110 [ 33.103298][ C0] common_startup_64+0x12c/0x138 [ 33.103525][ C0] [ 33.103600][ C0] [ 33.103600][ C0] stack backtrace: [ 33.103776][ C0] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.9.0-rc1-virtme #1 [ 33.103989][ C0] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 33.104387][ C0] Call Trace: [ 33.104498][ C0] [ 33.104573][ C0] dump_stack_lvl+0x82/0xd0 [ 33.104806][ C0] print_irq_inversion_bug.part.0+0x3d9/0x570 [ 33.104988][ C0] ? kernel_text_address+0x17/0xe0 [ 33.105133][ C0] ? __pfx_print_irq_inversion_bug.part.0+0x10/0x10 [ 33.105310][ C0] ? __pfx_usage_skip+0x10/0x10 [ 33.105452][ C0] ? __pfx_usage_match+0x10/0x10 [ 33.105594][ C0] ? arch_stack_walk+0x8c/0xf0 [ 33.105740][ C0] mark_lock_irq+0x4cd/0xa10 [ 33.105881][ C0] ? common_startup_64+0x12c/0x138 [ 33.106024][ C0] ? __pfx_mark_lock_irq+0x10/0x10 [ 33.106172][ C0] ? __pfx_stack_trace_save+0x10/0x10 [ 33.106317][ C0] ? save_trace+0x8f/0x5b0 [ 33.106460][ C0] mark_lock+0x28d/0x3e0 [ 33.106567][ C0] ? __pfx_stack_trace_save+0x10/0x10 [ 33.106798][ C0] mark_usage+0xd9/0x2a0 [ 33.106907][ C0] __lock_acquire+0x797/0x1570 [ 33.107050][ C0] ? __pfx_validate_chain+0x10/0x10 [ 33.107192][ C0] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 33.107423][ C0] lock_acquire.part.0+0xeb/0x330 [ 33.107566][ C0] ? addrconf_rs_timer+0xa9/0x730 [ 33.107711][ C0] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 33.107854][ C0] ? trace_lock_acquire+0x135/0x1c0 [ 33.107996][ C0] ? addrconf_rs_timer+0xa9/0x730 [ 33.108223][ C0] ? lock_acquire+0x32/0xc0 [ 33.108365][ C0] ? addrconf_rs_timer+0xa9/0x730 [ 33.108506][ C0] _raw_write_lock+0x30/0x40 [ 33.108659][ C0] ? addrconf_rs_timer+0xa9/0x730 [ 33.108987][ C0] addrconf_rs_timer+0xa9/0x730 [ 33.109130][ C0] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 33.109273][ C0] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 33.109415][ C0] ? call_timer_fn+0xe8/0x230 [ 33.109556][ C0] ? lock_acquire+0x32/0xc0 [ 33.109698][ C0] ? call_timer_fn+0xe8/0x230 [ 33.109842][ C0] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 33.109986][ C0] call_timer_fn+0x13b/0x230 [ 33.110129][ C0] ? call_timer_fn+0xe8/0x230 [ 33.110271][ C0] ? call_timer_fn+0xe8/0x230 [ 33.110413][ C0] ? __pfx_call_timer_fn+0x10/0x10 [ 33.110555][ C0] ? mark_lock+0x38/0x3e0 [ 33.110673][ C0] __run_timers+0x545/0x810 [ 33.110904][ C0] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 33.111047][ C0] ? __pfx___run_timers+0x10/0x10 [ 33.111190][ C0] ? do_raw_spin_lock+0x131/0x270 [ 33.111336][ C0] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 33.111478][ C0] ? lock_acquire+0x32/0xc0 [ 33.111619][ C0] ? run_timer_softirq+0xe0/0x1b0 [ 33.111771][ C0] run_timer_softirq+0xe8/0x1b0 [ 33.111913][ C0] __do_softirq+0x1f8/0x5df [ 33.112057][ C0] irq_exit_rcu+0x97/0xc0 [ 33.112165][ C0] sysvec_apic_timer_interrupt+0x75/0x80 [ 33.112307][ C0] [ 33.112382][ C0] [ 33.112457][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 33.112636][ C0] RIP: 0010:default_idle+0xf/0x20 [ 33.112878][ 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 c1 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.113472][ C0] RSP: 0018:ffffffff8a407e00 EFLAGS: 00000246 [ 33.113656][ C0] RAX: 00000000000ad4eb RBX: 1ffffffff1480fc2 RCX: ffffffff895a58b5 [ 33.113871][ C0] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff86eaa4a4 [ 33.114171][ C0] RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed1006c0709c [ 33.114383][ C0] R10: ffff8880360384e3 R11: ffff88803602d9b0 R12: 0000000000000000 [ 33.114593][ C0] R13: ffffffff8a441000 R14: dffffc0000000000 R15: 0000000000014770 [ 33.114910][ C0] ? ct_kernel_exit.constprop.0+0xc5/0xf0 [ 33.115056][ C0] ? cpuidle_idle_call+0x1f4/0x280 [ 33.115200][ C0] default_idle_call+0x6d/0xb0 [ 33.115342][ C0] cpuidle_idle_call+0x1f4/0x280 [ 33.115484][ C0] ? __pfx_cpuidle_idle_call+0x10/0x10 [ 33.115629][ C0] ? tsc_verify_tsc_adjust+0x5e/0x2b0 [ 33.115773][ C0] do_idle+0xf9/0x160 [ 33.115890][ C0] cpu_startup_entry+0x54/0x60 [ 33.116032][ C0] rest_init+0x14f/0x260 [ 33.116145][ C0] start_kernel+0x318/0x3d0 [ 33.116287][ C0] x86_64_start_reservations+0x18/0x30 [ 33.116428][ C0] x86_64_start_kernel+0xba/0x110 [ 33.116572][ C0] common_startup_64+0x12c/0x138 [ 33.116808][ C0]