[ 68.919937][ C0] [ 68.920125][ C0] ======================================================== [ 68.920366][ C0] WARNING: possible irq lock inversion dependency detected [ 68.920598][ C0] 6.9.0-rc1-virtme #1 Not tainted [ 68.920750][ C0] -------------------------------------------------------- [ 68.920969][ C0] swapper/0/0 just changed the state of lock: [ 68.921159][ C0] ffff888005bf5580 (&ndev->lock){++-.}-{2:2}, at: addrconf_rs_timer+0xa9/0x730 [ 68.921432][ C0] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 68.921649][ C0] (&p->alloc_lock){+.+.}-{2:2} [ 68.921653][ C0] [ 68.921653][ C0] [ 68.921653][ C0] and interrupts could create inverse lock ordering between them. [ 68.921653][ C0] [ 68.922214][ C0] [ 68.922214][ C0] other info that might help us debug this: [ 68.922431][ C0] Possible interrupt unsafe locking scenario: [ 68.922431][ C0] [ 68.922643][ C0] CPU0 CPU1 [ 68.922790][ C0] ---- ---- [ 68.922932][ C0] lock(&p->alloc_lock); [ 68.923043][ C0] local_irq_disable(); [ 68.923222][ C0] lock(&ndev->lock); [ 68.923411][ C0] lock(&p->alloc_lock); [ 68.923591][ C0] [ 68.923701][ C0] lock(&ndev->lock); [ 68.923813][ C0] [ 68.923813][ C0] *** DEADLOCK *** [ 68.923813][ C0] [ 68.924027][ C0] 1 lock held by swapper/0/0: [ 68.924173][ C0] #0: ffffc90000007d68 ((&ndev->rs_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 68.924444][ C0] [ 68.924444][ C0] the shortest dependencies between 2nd lock and 1st lock: [ 68.924697][ C0] -> (&p->alloc_lock){+.+.}-{2:2} { [ 68.924848][ C0] HARDIRQ-ON-W at: [ 68.924960][ C0] __lock_acquire+0x797/0x1570 [ 68.925147][ C0] lock_acquire.part.0+0xeb/0x330 [ 68.925335][ C0] _raw_spin_lock+0x30/0x40 [ 68.925525][ C0] set_mems_allowed+0x1d/0x210 [ 68.925708][ C0] kernel_init_freeable+0x72/0x310 [ 68.925896][ C0] kernel_init+0x20/0x200 [ 68.926081][ C0] ret_from_fork+0x31/0x70 [ 68.926266][ C0] ret_from_fork_asm+0x1a/0x30 [ 68.926447][ C0] SOFTIRQ-ON-W at: [ 68.926560][ C0] __lock_acquire+0x797/0x1570 [ 68.926745][ C0] lock_acquire.part.0+0xeb/0x330 [ 68.926932][ C0] _raw_spin_lock+0x30/0x40 [ 68.927135][ C0] set_mems_allowed+0x1d/0x210 [ 68.927334][ C0] kernel_init_freeable+0x72/0x310 [ 68.927531][ C0] kernel_init+0x20/0x200 [ 68.927716][ C0] ret_from_fork+0x31/0x70 [ 68.927906][ C0] ret_from_fork_asm+0x1a/0x30 [ 68.928087][ C0] INITIAL USE at: [ 68.928197][ C0] __lock_acquire+0x797/0x1570 [ 68.928378][ C0] lock_acquire.part.0+0xeb/0x330 [ 68.928562][ C0] _raw_spin_lock+0x30/0x40 [ 68.928743][ C0] set_mems_allowed+0x1d/0x210 [ 68.928938][ C0] kernel_init_freeable+0x72/0x310 [ 68.929123][ C0] kernel_init+0x20/0x200 [ 68.929305][ C0] ret_from_fork+0x31/0x70 [ 68.929488][ C0] ret_from_fork_asm+0x1a/0x30 [ 68.929671][ C0] } [ 68.929746][ C0] ... key at: [] __key.387+0x0/0x40 [ 68.929971][ C0] ... acquired at: [ 68.930084][ C0] __lock_acquire+0xaf0/0x1570 [ 68.930246][ C0] lock_acquire.part.0+0xeb/0x330 [ 68.930394][ C0] _raw_spin_lock+0x30/0x40 [ 68.930543][ C0] __get_task_comm+0x27/0x70 [ 68.930696][ C0] ref_tracker_alloc+0x2ee/0x490 [ 68.930842][ C0] netdev_get_by_index+0x5e/0x80 [ 68.930991][ C0] fib6_nh_init+0x3d8/0x15b0 [ 68.931139][ C0] ip6_route_info_create+0xf18/0x17d0 [ 68.931291][ C0] addrconf_f6i_alloc+0x265/0x560 [ 68.931436][ C0] __ipv6_dev_ac_inc+0x25f/0xb10 [ 68.931586][ C0] addrconf_join_anycast+0x1c0/0x220 [ 68.931731][ C0] __ipv6_ifa_notify+0x6b3/0xaf0 [ 68.931891][ C0] addrconf_dad_completed+0x12b/0xe20 [ 68.932037][ C0] addrconf_dad_begin+0x310/0x670 [ 68.932179][ C0] addrconf_dad_work+0x10b/0xab0 [ 68.932329][ C0] process_one_work+0xe2c/0x1730 [ 68.932476][ C0] worker_thread+0x587/0xd30 [ 68.932622][ C0] kthread+0x28a/0x350 [ 68.932732][ C0] ret_from_fork+0x31/0x70 [ 68.932878][ C0] ret_from_fork_asm+0x1a/0x30 [ 68.933022][ C0] [ 68.933097][ C0] -> (&ndev->lock){++-.}-{2:2} { [ 68.933246][ C0] HARDIRQ-ON-W at: [ 68.933355][ C0] __lock_acquire+0x797/0x1570 [ 68.933542][ C0] lock_acquire.part.0+0xeb/0x330 [ 68.933723][ C0] _raw_write_lock_bh+0x38/0x50 [ 68.933908][ C0] addrconf_permanent_addr+0x6e/0x670 [ 68.934091][ C0] addrconf_notify+0x749/0xd60 [ 68.934273][ C0] notifier_call_chain+0xcd/0x150 [ 68.934455][ C0] __dev_notify_flags+0xe6/0x250 [ 68.934641][ C0] dev_change_flags+0xec/0x160 [ 68.934828][ C0] do_setlink+0x7d6/0x21e0 [ 68.935012][ C0] __rtnl_newlink+0xaa7/0xd80 [ 68.935195][ C0] rtnl_newlink+0x63/0xa0 [ 68.935377][ C0] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 68.935558][ C0] netlink_rcv_skb+0x130/0x360 [ 68.935740][ C0] netlink_unicast+0x449/0x710 [ 68.935929][ C0] netlink_sendmsg+0x723/0xbe0 [ 68.936112][ C0] ____sys_sendmsg+0x7b2/0xa10 [ 68.936296][ C0] ___sys_sendmsg+0xee/0x170 [ 68.936479][ C0] __sys_sendmsg+0xcd/0x170 [ 68.936663][ C0] do_syscall_64+0xc6/0x1e0 [ 68.936845][ C0] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 68.937076][ C0] HARDIRQ-ON-R at: [ 68.937189][ C0] __lock_acquire+0x797/0x1570 [ 68.937375][ C0] lock_acquire.part.0+0xeb/0x330 [ 68.937556][ C0] _raw_read_lock_bh+0x44/0x80 [ 68.937739][ C0] inet6_fill_ifla6_attrs+0x516/0x740 [ 68.937924][ C0] inet6_fill_link_af+0x5e/0xe0 [ 68.938106][ C0] rtnl_fill_ifinfo+0x1612/0x29e0 [ 68.938290][ C0] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 68.938474][ C0] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 68.938689][ C0] rtmsg_ifinfo+0x5b/0xa0 [ 68.938868][ C0] register_netdevice+0x1177/0x1690 [ 68.939048][ C0] register_netdev+0x20/0x40 [ 68.939230][ C0] sit_init_net+0x250/0x4f0 [ 68.939419][ C0] ops_init+0x9b/0x560 [ 68.939566][ C0] register_pernet_operations+0x2db/0x710 [ 68.939790][ C0] register_pernet_device+0x2a/0x60 [ 68.939972][ C0] sit_init+0x23/0xe0 [ 68.940119][ C0] do_one_initcall+0x8d/0x1e0 [ 68.940299][ C0] do_initcalls+0x1b2/0x3e0 [ 68.940486][ C0] kernel_init_freeable+0x232/0x310 [ 68.940666][ C0] kernel_init+0x20/0x200 [ 68.940847][ C0] ret_from_fork+0x31/0x70 [ 68.941032][ C0] ret_from_fork_asm+0x1a/0x30 [ 68.941213][ C0] IN-SOFTIRQ-W at: [ 68.941322][ C0] __lock_acquire+0x797/0x1570 [ 68.941500][ C0] lock_acquire.part.0+0xeb/0x330 [ 68.941687][ C0] _raw_write_lock+0x30/0x40 [ 68.941879][ C0] addrconf_rs_timer+0xa9/0x730 [ 68.942058][ C0] call_timer_fn+0x13b/0x230 [ 68.942244][ C0] __run_timers+0x545/0x810 [ 68.942426][ C0] run_timer_softirq+0xe8/0x1b0 [ 68.942605][ C0] __do_softirq+0x1f8/0x5df [ 68.942786][ C0] irq_exit_rcu+0x97/0xc0 [ 68.942975][ C0] sysvec_apic_timer_interrupt+0x75/0x80 [ 68.943189][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 68.943408][ C0] default_idle+0xf/0x20 [ 68.943591][ C0] default_idle_call+0x6d/0xb0 [ 68.943773][ C0] cpuidle_idle_call+0x1f4/0x280 [ 68.943956][ C0] do_idle+0xf9/0x160 [ 68.944108][ C0] cpu_startup_entry+0x54/0x60 [ 68.944291][ C0] rest_init+0x14f/0x260 [ 68.944474][ C0] start_kernel+0x318/0x3d0 [ 68.944658][ C0] x86_64_start_reservations+0x18/0x30 [ 68.944844][ C0] x86_64_start_kernel+0xba/0x110 [ 68.945026][ C0] common_startup_64+0x12c/0x138 [ 68.945214][ C0] INITIAL USE at: [ 68.945326][ C0] __lock_acquire+0x797/0x1570 [ 68.945506][ C0] lock_acquire.part.0+0xeb/0x330 [ 68.945686][ C0] _raw_write_lock_bh+0x38/0x50 [ 68.945868][ C0] addrconf_permanent_addr+0x6e/0x670 [ 68.946049][ C0] addrconf_notify+0x749/0xd60 [ 68.946232][ C0] notifier_call_chain+0xcd/0x150 [ 68.946421][ C0] __dev_notify_flags+0xe6/0x250 [ 68.946602][ C0] dev_change_flags+0xec/0x160 [ 68.946782][ C0] do_setlink+0x7d6/0x21e0 [ 68.946963][ C0] __rtnl_newlink+0xaa7/0xd80 [ 68.947143][ C0] rtnl_newlink+0x63/0xa0 [ 68.947325][ C0] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 68.947509][ C0] netlink_rcv_skb+0x130/0x360 [ 68.947688][ C0] netlink_unicast+0x449/0x710 [ 68.947872][ C0] netlink_sendmsg+0x723/0xbe0 [ 68.948051][ C0] ____sys_sendmsg+0x7b2/0xa10 [ 68.948232][ C0] ___sys_sendmsg+0xee/0x170 [ 68.948416][ C0] __sys_sendmsg+0xcd/0x170 [ 68.948596][ C0] do_syscall_64+0xc6/0x1e0 [ 68.948781][ C0] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 68.948997][ C0] INITIAL READ USE at: [ 68.949108][ C0] __lock_acquire+0x797/0x1570 [ 68.949291][ C0] lock_acquire.part.0+0xeb/0x330 [ 68.949470][ C0] _raw_read_lock_bh+0x44/0x80 [ 68.949652][ C0] inet6_fill_ifla6_attrs+0x516/0x740 [ 68.949873][ C0] inet6_fill_link_af+0x5e/0xe0 [ 68.950053][ C0] rtnl_fill_ifinfo+0x1612/0x29e0 [ 68.950235][ C0] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 68.950546][ C0] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 68.950760][ C0] rtmsg_ifinfo+0x5b/0xa0 [ 68.950973][ C0] register_netdevice+0x1177/0x1690 [ 68.951285][ C0] register_netdev+0x20/0x40 [ 68.951466][ C0] sit_init_net+0x250/0x4f0 [ 68.951647][ C0] ops_init+0x9b/0x560 [ 68.951935][ C0] register_pernet_operations+0x2db/0x710 [ 68.952151][ C0] register_pernet_device+0x2a/0x60 [ 68.952388][ C0] sit_init+0x23/0xe0 [ 68.952662][ C0] do_one_initcall+0x8d/0x1e0 [ 68.952844][ C0] do_initcalls+0x1b2/0x3e0 [ 68.953025][ C0] kernel_init_freeable+0x232/0x310 [ 68.953330][ C0] kernel_init+0x20/0x200 [ 68.953512][ C0] ret_from_fork+0x31/0x70 [ 68.953693][ C0] ret_from_fork_asm+0x1a/0x30 [ 68.953877][ C0] } [ 68.954039][ C0] ... key at: [] __key.37+0x0/0x40 [ 68.954256][ C0] ... acquired at: [ 68.954364][ C0] mark_lock+0x28d/0x3e0 [ 68.954510][ C0] mark_usage+0xd9/0x2a0 [ 68.954743][ C0] __lock_acquire+0x797/0x1570 [ 68.954890][ C0] lock_acquire.part.0+0xeb/0x330 [ 68.955035][ C0] _raw_write_lock+0x30/0x40 [ 68.955208][ C0] addrconf_rs_timer+0xa9/0x730 [ 68.955352][ C0] call_timer_fn+0x13b/0x230 [ 68.955497][ C0] __run_timers+0x545/0x810 [ 68.955641][ C0] run_timer_softirq+0xe8/0x1b0 [ 68.955787][ C0] __do_softirq+0x1f8/0x5df [ 68.955933][ C0] irq_exit_rcu+0x97/0xc0 [ 68.956169][ C0] sysvec_apic_timer_interrupt+0x75/0x80 [ 68.956350][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 68.956533][ C0] default_idle+0xf/0x20 [ 68.956872][ C0] default_idle_call+0x6d/0xb0 [ 68.957015][ C0] cpuidle_idle_call+0x1f4/0x280 [ 68.957158][ C0] do_idle+0xf9/0x160 [ 68.957267][ C0] cpu_startup_entry+0x54/0x60 [ 68.957412][ C0] rest_init+0x14f/0x260 [ 68.957556][ C0] start_kernel+0x318/0x3d0 [ 68.957700][ C0] x86_64_start_reservations+0x18/0x30 [ 68.957843][ C0] x86_64_start_kernel+0xba/0x110 [ 68.957990][ C0] common_startup_64+0x12c/0x138 [ 68.958133][ C0] [ 68.958206][ C0] [ 68.958206][ C0] stack backtrace: [ 68.958384][ C0] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.9.0-rc1-virtme #1 [ 68.958599][ C0] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 68.959013][ C0] Call Trace: [ 68.959123][ C0] [ 68.959203][ C0] dump_stack_lvl+0x82/0xd0 [ 68.959356][ C0] print_irq_inversion_bug.part.0+0x3d9/0x570 [ 68.959535][ C0] ? kernel_text_address+0x17/0xe0 [ 68.959683][ C0] ? __pfx_print_irq_inversion_bug.part.0+0x10/0x10 [ 68.959865][ C0] ? __pfx_usage_skip+0x10/0x10 [ 68.960012][ C0] ? __pfx_usage_match+0x10/0x10 [ 68.960244][ C0] ? arch_stack_walk+0x8c/0xf0 [ 68.960391][ C0] mark_lock_irq+0x4cd/0xa10 [ 68.960539][ C0] ? common_startup_64+0x12c/0x138 [ 68.960684][ C0] ? __pfx_mark_lock_irq+0x10/0x10 [ 68.960932][ C0] ? __pfx_stack_trace_save+0x10/0x10 [ 68.961081][ C0] ? save_trace+0x8f/0x5b0 [ 68.961225][ C0] mark_lock+0x28d/0x3e0 [ 68.961333][ C0] ? __pfx_stack_trace_save+0x10/0x10 [ 68.961476][ C0] mark_usage+0xd9/0x2a0 [ 68.961584][ C0] __lock_acquire+0x797/0x1570 [ 68.961735][ C0] ? __pfx_validate_chain+0x10/0x10 [ 68.961890][ C0] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 68.962039][ C0] lock_acquire.part.0+0xeb/0x330 [ 68.962270][ C0] ? addrconf_rs_timer+0xa9/0x730 [ 68.962415][ C0] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 68.962558][ C0] ? trace_lock_acquire+0x135/0x1c0 [ 68.962702][ C0] ? addrconf_rs_timer+0xa9/0x730 [ 68.962936][ C0] ? lock_acquire+0x32/0xc0 [ 68.963083][ C0] ? addrconf_rs_timer+0xa9/0x730 [ 68.963226][ C0] _raw_write_lock+0x30/0x40 [ 68.963370][ C0] ? addrconf_rs_timer+0xa9/0x730 [ 68.963599][ C0] addrconf_rs_timer+0xa9/0x730 [ 68.963741][ C0] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 68.963885][ C0] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 68.964029][ C0] ? call_timer_fn+0xe8/0x230 [ 68.964172][ C0] ? lock_acquire+0x32/0xc0 [ 68.964402][ C0] ? call_timer_fn+0xe8/0x230 [ 68.964550][ C0] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 68.964692][ C0] call_timer_fn+0x13b/0x230 [ 68.964835][ C0] ? call_timer_fn+0xe8/0x230 [ 68.965066][ C0] ? call_timer_fn+0xe8/0x230 [ 68.965208][ C0] ? __pfx_call_timer_fn+0x10/0x10 [ 68.965353][ C0] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 68.965499][ C0] __run_timers+0x545/0x810 [ 68.965734][ C0] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 68.965882][ C0] ? __pfx___run_timers+0x10/0x10 [ 68.966026][ C0] ? do_raw_spin_lock+0x131/0x270 [ 68.966168][ C0] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 68.966313][ C0] ? lock_acquire+0x32/0xc0 [ 68.966456][ C0] ? run_timer_softirq+0xe0/0x1b0 [ 68.966601][ C0] run_timer_softirq+0xe8/0x1b0 [ 68.966744][ C0] __do_softirq+0x1f8/0x5df [ 68.966889][ C0] irq_exit_rcu+0x97/0xc0 [ 68.967090][ C0] sysvec_apic_timer_interrupt+0x75/0x80 [ 68.967237][ C0] [ 68.967313][ C0] [ 68.967386][ C0] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 68.967565][ C0] RIP: 0010:default_idle+0xf/0x20 [ 68.967904][ 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 93 20 35 00 fb f4 c3 cc cc cc cc 66 66 2e 0f 1f 84 00 00 00 00 00 90 90 90 90 90 [ 68.968419][ C0] RSP: 0018:ffffffffa0207e00 EFLAGS: 00000246 [ 68.968607][ C0] RAX: 00000000001196f3 RBX: 1ffffffff4040fc2 RCX: ffffffff9f30f9e5 [ 68.968824][ C0] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff9ccaa4a4 [ 68.969041][ C0] RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed1005f0709c [ 68.969344][ C0] R10: ffff88802f8384e3 R11: ffff88802f82d9b0 R12: 0000000000000000 [ 68.969565][ C0] R13: ffffffffa021d000 R14: dffffc0000000000 R15: 0000000000014770 [ 68.969883][ C0] ? ct_kernel_exit.constprop.0+0xc5/0xf0 [ 68.970028][ C0] ? cpuidle_idle_call+0x1f4/0x280 [ 68.970174][ C0] default_idle_call+0x6d/0xb0 [ 68.970317][ C0] cpuidle_idle_call+0x1f4/0x280 [ 68.970461][ C0] ? __pfx_cpuidle_idle_call+0x10/0x10 [ 68.970695][ C0] ? tsc_verify_tsc_adjust+0x5e/0x2b0 [ 68.970841][ C0] do_idle+0xf9/0x160 [ 68.970956][ C0] cpu_startup_entry+0x54/0x60 [ 68.971099][ C0] rest_init+0x14f/0x260 [ 68.971296][ C0] start_kernel+0x318/0x3d0 [ 68.971440][ C0] x86_64_start_reservations+0x18/0x30 [ 68.971583][ C0] x86_64_start_kernel+0xba/0x110 [ 68.971726][ C0] common_startup_64+0x12c/0x138 [ 68.971885][ C0] [ 70.801242][ T594] GACT probability NOT on