[ 33.210489][ T295] netem: version 1.3 [ 36.142938][ C3] [ 36.143099][ C3] ======================================================== [ 36.143328][ C3] WARNING: possible irq lock inversion dependency detected [ 36.143549][ C3] 6.9.0-rc1-virtme #1 Not tainted [ 36.143696][ C3] -------------------------------------------------------- [ 36.143897][ C3] swapper/3/0 just changed the state of lock: [ 36.144077][ C3] ffff8880060e6d80 (&ndev->lock){++-.}-{2:2}, at: addrconf_rs_timer+0xa9/0x730 [ 36.144364][ C3] but this lock took another, SOFTIRQ-unsafe lock in the past: [ 36.144575][ C3] (&p->alloc_lock){+.+.}-{2:2} [ 36.144579][ C3] [ 36.144579][ C3] [ 36.144579][ C3] and interrupts could create inverse lock ordering between them. [ 36.144579][ C3] [ 36.145093][ C3] [ 36.145093][ C3] other info that might help us debug this: [ 36.145304][ C3] Possible interrupt unsafe locking scenario: [ 36.145304][ C3] [ 36.145578][ C3] CPU0 CPU1 [ 36.145721][ C3] ---- ---- [ 36.145879][ C3] lock(&p->alloc_lock); [ 36.145983][ C3] local_irq_disable(); [ 36.146160][ C3] lock(&ndev->lock); [ 36.146346][ C3] lock(&p->alloc_lock); [ 36.146513][ C3] [ 36.146623][ C3] lock(&ndev->lock); [ 36.146732][ C3] [ 36.146732][ C3] *** DEADLOCK *** [ 36.146732][ C3] [ 36.146942][ C3] 1 lock held by swapper/3/0: [ 36.147078][ C3] #0: ffffc90000288d68 ((&ndev->rs_timer)){+.-.}-{0:0}, at: call_timer_fn+0xe8/0x230 [ 36.147344][ C3] [ 36.147344][ C3] the shortest dependencies between 2nd lock and 1st lock: [ 36.147591][ C3] -> (&p->alloc_lock){+.+.}-{2:2} { [ 36.147727][ C3] HARDIRQ-ON-W at: [ 36.147828][ C3] __lock_acquire+0x797/0x1570 [ 36.148009][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.148182][ C3] _raw_spin_lock+0x30/0x40 [ 36.148373][ C3] set_mems_allowed+0x1d/0x210 [ 36.148563][ C3] kernel_init_freeable+0x72/0x310 [ 36.148755][ C3] kernel_init+0x20/0x200 [ 36.148923][ C3] ret_from_fork+0x31/0x70 [ 36.149104][ C3] ret_from_fork_asm+0x1a/0x30 [ 36.149281][ C3] SOFTIRQ-ON-W at: [ 36.149394][ C3] __lock_acquire+0x797/0x1570 [ 36.149572][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.149739][ C3] _raw_spin_lock+0x30/0x40 [ 36.149909][ C3] set_mems_allowed+0x1d/0x210 [ 36.150075][ C3] kernel_init_freeable+0x72/0x310 [ 36.150238][ C3] kernel_init+0x20/0x200 [ 36.150428][ C3] ret_from_fork+0x31/0x70 [ 36.150602][ C3] ret_from_fork_asm+0x1a/0x30 [ 36.150779][ C3] INITIAL USE at: [ 36.150886][ C3] __lock_acquire+0x797/0x1570 [ 36.151055][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.151235][ C3] _raw_spin_lock+0x30/0x40 [ 36.151439][ C3] set_mems_allowed+0x1d/0x210 [ 36.151611][ C3] kernel_init_freeable+0x72/0x310 [ 36.151792][ C3] kernel_init+0x20/0x200 [ 36.151970][ C3] ret_from_fork+0x31/0x70 [ 36.152135][ C3] ret_from_fork_asm+0x1a/0x30 [ 36.152321][ C3] } [ 36.152391][ C3] ... key at: [] __key.387+0x0/0x40 [ 36.152613][ C3] ... acquired at: [ 36.152717][ C3] __lock_acquire+0xaf0/0x1570 [ 36.152864][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.152997][ C3] _raw_spin_lock+0x30/0x40 [ 36.153129][ C3] __get_task_comm+0x27/0x70 [ 36.153266][ C3] ref_tracker_alloc+0x2ee/0x490 [ 36.153441][ C3] netdev_get_by_index+0x5e/0x80 [ 36.153579][ C3] fib6_nh_init+0x3d8/0x15b0 [ 36.153712][ C3] ip6_route_info_create+0xf18/0x17d0 [ 36.153848][ C3] ip6_route_add+0x1c/0x140 [ 36.153981][ C3] addrconf_prefix_route+0x1cc/0x2b0 [ 36.154115][ C3] addrconf_permanent_addr+0x32f/0x670 [ 36.154247][ C3] addrconf_notify+0x749/0xd60 [ 36.154394][ C3] notifier_call_chain+0xcd/0x150 [ 36.154526][ C3] __dev_notify_flags+0xe6/0x250 [ 36.154658][ C3] dev_change_flags+0xec/0x160 [ 36.154821][ C3] do_setlink+0x7d6/0x21e0 [ 36.154972][ C3] __rtnl_newlink+0xaa7/0xd80 [ 36.155104][ C3] rtnl_newlink+0x63/0xa0 [ 36.155238][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 36.155380][ C3] netlink_rcv_skb+0x130/0x360 [ 36.155525][ C3] netlink_unicast+0x449/0x710 [ 36.155659][ C3] netlink_sendmsg+0x723/0xbe0 [ 36.155793][ C3] ____sys_sendmsg+0x7b2/0xa10 [ 36.155930][ C3] ___sys_sendmsg+0xee/0x170 [ 36.156067][ C3] __sys_sendmsg+0xcd/0x170 [ 36.156205][ C3] do_syscall_64+0xc6/0x1e0 [ 36.156350][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 36.156518][ C3] [ 36.156586][ C3] -> (&ndev->lock){++-.}-{2:2} { [ 36.156732][ C3] HARDIRQ-ON-W at: [ 36.156837][ C3] __lock_acquire+0x797/0x1570 [ 36.157547][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.157714][ C3] _raw_write_lock_bh+0x38/0x50 [ 36.157885][ C3] addrconf_permanent_addr+0x6e/0x670 [ 36.158056][ C3] addrconf_notify+0x749/0xd60 [ 36.158232][ C3] notifier_call_chain+0xcd/0x150 [ 36.158413][ C3] __dev_notify_flags+0xe6/0x250 [ 36.158577][ C3] dev_change_flags+0xec/0x160 [ 36.158743][ C3] do_setlink+0x7d6/0x21e0 [ 36.158919][ C3] __rtnl_newlink+0xaa7/0xd80 [ 36.159088][ C3] rtnl_newlink+0x63/0xa0 [ 36.159257][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 36.159453][ C3] netlink_rcv_skb+0x130/0x360 [ 36.159641][ C3] netlink_unicast+0x449/0x710 [ 36.159816][ C3] netlink_sendmsg+0x723/0xbe0 [ 36.159994][ C3] ____sys_sendmsg+0x7b2/0xa10 [ 36.160167][ C3] ___sys_sendmsg+0xee/0x170 [ 36.160375][ C3] __sys_sendmsg+0xcd/0x170 [ 36.160558][ C3] do_syscall_64+0xc6/0x1e0 [ 36.160727][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 36.160937][ C3] HARDIRQ-ON-R at: [ 36.161044][ C3] __lock_acquire+0x797/0x1570 [ 36.161218][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.161445][ C3] _raw_read_lock_bh+0x44/0x80 [ 36.161612][ C3] inet6_fill_ifla6_attrs+0x516/0x740 [ 36.161780][ C3] inet6_fill_link_af+0x5e/0xe0 [ 36.161954][ C3] rtnl_fill_ifinfo+0x1612/0x29e0 [ 36.162125][ C3] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 36.162298][ C3] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 36.162506][ C3] rtmsg_ifinfo+0x5b/0xa0 [ 36.162685][ C3] register_netdevice+0x1177/0x1690 [ 36.162853][ C3] register_netdev+0x20/0x40 [ 36.163025][ C3] sit_init_net+0x250/0x4f0 [ 36.163203][ C3] ops_init+0x9b/0x560 [ 36.163346][ C3] register_pernet_operations+0x2db/0x710 [ 36.163570][ C3] register_pernet_device+0x2a/0x60 [ 36.163746][ C3] sit_init+0x23/0xe0 [ 36.163887][ C3] do_one_initcall+0x8d/0x1e0 [ 36.164066][ C3] do_initcalls+0x1b2/0x3e0 [ 36.164248][ C3] kernel_init_freeable+0x232/0x310 [ 36.164433][ C3] kernel_init+0x20/0x200 [ 36.164611][ C3] ret_from_fork+0x31/0x70 [ 36.164785][ C3] ret_from_fork_asm+0x1a/0x30 [ 36.164966][ C3] IN-SOFTIRQ-W at: [ 36.165072][ C3] __lock_acquire+0x797/0x1570 [ 36.165242][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.165440][ C3] _raw_write_lock+0x30/0x40 [ 36.165611][ C3] addrconf_rs_timer+0xa9/0x730 [ 36.165780][ C3] call_timer_fn+0x13b/0x230 [ 36.165953][ C3] __run_timers+0x545/0x810 [ 36.166119][ C3] run_timer_softirq+0xe8/0x1b0 [ 36.166287][ C3] __do_softirq+0x1f8/0x5df [ 36.166466][ C3] irq_exit_rcu+0x97/0xc0 [ 36.166634][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 36.166833][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 36.167034][ C3] default_idle+0xf/0x20 [ 36.167200][ C3] default_idle_call+0x6d/0xb0 [ 36.167392][ C3] cpuidle_idle_call+0x1f4/0x280 [ 36.167559][ C3] do_idle+0xf9/0x160 [ 36.167693][ C3] cpu_startup_entry+0x54/0x60 [ 36.167861][ C3] start_secondary+0x21c/0x2b0 [ 36.168032][ C3] common_startup_64+0x12c/0x138 [ 36.168199][ C3] INITIAL USE at: [ 36.168306][ C3] __lock_acquire+0x797/0x1570 [ 36.168474][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.168639][ C3] _raw_write_lock_bh+0x38/0x50 [ 36.168804][ C3] addrconf_permanent_addr+0x6e/0x670 [ 36.168975][ C3] addrconf_notify+0x749/0xd60 [ 36.169142][ C3] notifier_call_chain+0xcd/0x150 [ 36.169323][ C3] __dev_notify_flags+0xe6/0x250 [ 36.169525][ C3] dev_change_flags+0xec/0x160 [ 36.169692][ C3] do_setlink+0x7d6/0x21e0 [ 36.169862][ C3] __rtnl_newlink+0xaa7/0xd80 [ 36.170031][ C3] rtnl_newlink+0x63/0xa0 [ 36.170203][ C3] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 36.170373][ C3] netlink_rcv_skb+0x130/0x360 [ 36.170538][ C3] netlink_unicast+0x449/0x710 [ 36.170711][ C3] netlink_sendmsg+0x723/0xbe0 [ 36.170882][ C3] ____sys_sendmsg+0x7b2/0xa10 [ 36.171046][ C3] ___sys_sendmsg+0xee/0x170 [ 36.171210][ C3] __sys_sendmsg+0xcd/0x170 [ 36.171388][ C3] do_syscall_64+0xc6/0x1e0 [ 36.171570][ C3] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 36.171781][ C3] INITIAL READ USE at: [ 36.171889][ C3] __lock_acquire+0x797/0x1570 [ 36.172071][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.172249][ C3] _raw_read_lock_bh+0x44/0x80 [ 36.172459][ C3] inet6_fill_ifla6_attrs+0x516/0x740 [ 36.172771][ C3] inet6_fill_link_af+0x5e/0xe0 [ 36.172961][ C3] rtnl_fill_ifinfo+0x1612/0x29e0 [ 36.173139][ C3] rtmsg_ifinfo_build_skb+0x13c/0x240 [ 36.173471][ C3] rtmsg_ifinfo_event.part.0+0x2d/0x120 [ 36.173695][ C3] rtmsg_ifinfo+0x5b/0xa0 [ 36.173889][ C3] register_netdevice+0x1177/0x1690 [ 36.174233][ C3] register_netdev+0x20/0x40 [ 36.174430][ C3] sit_init_net+0x250/0x4f0 [ 36.174602][ C3] ops_init+0x9b/0x560 [ 36.174774][ C3] register_pernet_operations+0x2db/0x710 [ 36.175118][ C3] register_pernet_device+0x2a/0x60 [ 36.175485][ C3] sit_init+0x23/0xe0 [ 36.175739][ C3] do_one_initcall+0x8d/0x1e0 [ 36.176130][ C3] do_initcalls+0x1b2/0x3e0 [ 36.176369][ C3] kernel_init_freeable+0x232/0x310 [ 36.176665][ C3] kernel_init+0x20/0x200 [ 36.176926][ C3] ret_from_fork+0x31/0x70 [ 36.177203][ C3] ret_from_fork_asm+0x1a/0x30 [ 36.177460][ C3] } [ 36.177555][ C3] ... key at: [] __key.36+0x0/0x40 [ 36.177936][ C3] ... acquired at: [ 36.178085][ C3] mark_lock+0x28d/0x3e0 [ 36.178291][ C3] mark_usage+0xd9/0x2a0 [ 36.178492][ C3] __lock_acquire+0x797/0x1570 [ 36.178816][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.179022][ C3] _raw_write_lock+0x30/0x40 [ 36.179208][ C3] addrconf_rs_timer+0xa9/0x730 [ 36.179396][ C3] call_timer_fn+0x13b/0x230 [ 36.179720][ C3] __run_timers+0x545/0x810 [ 36.179916][ C3] run_timer_softirq+0xe8/0x1b0 [ 36.180110][ C3] __do_softirq+0x1f8/0x5df [ 36.180301][ C3] irq_exit_rcu+0x97/0xc0 [ 36.180611][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 36.180856][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 36.181113][ C3] default_idle+0xf/0x20 [ 36.181315][ C3] default_idle_call+0x6d/0xb0 [ 36.181643][ C3] cpuidle_idle_call+0x1f4/0x280 [ 36.181844][ C3] do_idle+0xf9/0x160 [ 36.181997][ C3] cpu_startup_entry+0x54/0x60 [ 36.182196][ C3] start_secondary+0x21c/0x2b0 [ 36.182395][ C3] common_startup_64+0x12c/0x138 [ 36.182728][ C3] [ 36.182830][ C3] [ 36.182830][ C3] stack backtrace: [ 36.183078][ C3] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 6.9.0-rc1-virtme #1 [ 36.183364][ C3] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 36.183920][ C3] Call Trace: [ 36.184085][ C3] [ 36.184189][ C3] dump_stack_lvl+0x82/0xd0 [ 36.184529][ C3] print_irq_inversion_bug.part.0+0x3d9/0x570 [ 36.184785][ C3] ? kernel_text_address+0x17/0xe0 [ 36.184970][ C3] ? __pfx_print_irq_inversion_bug.part.0+0x10/0x10 [ 36.185176][ C3] ? __pfx_usage_skip+0x10/0x10 [ 36.185526][ C3] ? __pfx_usage_match+0x10/0x10 [ 36.185730][ C3] ? arch_stack_walk+0x8c/0xf0 [ 36.185937][ C3] mark_lock_irq+0x4cd/0xa10 [ 36.186161][ C3] ? common_startup_64+0x12c/0x138 [ 36.186505][ C3] ? __pfx_mark_lock_irq+0x10/0x10 [ 36.186722][ C3] ? __pfx_stack_trace_save+0x10/0x10 [ 36.186938][ C3] ? save_trace+0x8f/0x5b0 [ 36.187142][ C3] mark_lock+0x28d/0x3e0 [ 36.187294][ C3] ? __pfx_stack_trace_save+0x10/0x10 [ 36.187534][ C3] mark_usage+0xd9/0x2a0 [ 36.187633][ C3] __lock_acquire+0x797/0x1570 [ 36.187766][ C3] ? __pfx_validate_chain+0x10/0x10 [ 36.187900][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 36.188108][ C3] lock_acquire.part.0+0xeb/0x330 [ 36.188238][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 36.188384][ C3] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 36.188516][ C3] ? trace_lock_acquire+0x135/0x1c0 [ 36.188646][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 36.188925][ C3] ? lock_acquire+0x32/0xc0 [ 36.189058][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 36.189188][ C3] _raw_write_lock+0x30/0x40 [ 36.189342][ C3] ? addrconf_rs_timer+0xa9/0x730 [ 36.189675][ C3] addrconf_rs_timer+0xa9/0x730 [ 36.189881][ C3] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 36.190087][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 36.190293][ C3] ? call_timer_fn+0xe8/0x230 [ 36.190638][ C3] ? lock_acquire+0x32/0xc0 [ 36.190844][ C3] ? call_timer_fn+0xe8/0x230 [ 36.191058][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 36.191250][ C3] call_timer_fn+0x13b/0x230 [ 36.191483][ C3] ? call_timer_fn+0xe8/0x230 [ 36.191617][ C3] ? call_timer_fn+0xe8/0x230 [ 36.191748][ C3] ? __pfx_call_timer_fn+0x10/0x10 [ 36.191902][ C3] ? mark_lock+0x38/0x3e0 [ 36.192054][ C3] __run_timers+0x545/0x810 [ 36.192373][ C3] ? __pfx_addrconf_rs_timer+0x10/0x10 [ 36.192584][ C3] ? __pfx___run_timers+0x10/0x10 [ 36.192789][ C3] ? do_raw_spin_lock+0x131/0x270 [ 36.192995][ C3] ? __pfx_do_raw_spin_lock+0x10/0x10 [ 36.193333][ C3] ? lock_acquire+0x32/0xc0 [ 36.193540][ C3] ? run_timer_softirq+0xe0/0x1b0 [ 36.193760][ C3] run_timer_softirq+0xe8/0x1b0 [ 36.194119][ C3] __do_softirq+0x1f8/0x5df [ 36.194338][ C3] irq_exit_rcu+0x97/0xc0 [ 36.194482][ C3] sysvec_apic_timer_interrupt+0x75/0x80 [ 36.194684][ C3] [ 36.194791][ C3] [ 36.194897][ C3] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 36.195162][ C3] RIP: 0010:default_idle+0xf/0x20 [ 36.195533][ 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 [ 36.196388][ C3] RSP: 0018:ffffc9000016fdf8 EFLAGS: 00000242 [ 36.196645][ C3] RAX: 0000000000087125 RBX: 1ffff9200002dfc1 RCX: ffffffff9b9a48b5 [ 36.196946][ C3] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff992aa4a4 [ 36.197378][ C3] RBP: 0000000000000000 R08: 0000000000000001 R09: ffffed1006c3709c [ 36.197694][ C3] R10: ffff8880361b84e3 R11: ffff8880361bde40 R12: 0000000000000000 [ 36.198011][ C3] R13: ffff888001b90040 R14: dffffc0000000000 R15: 0000000000000000 [ 36.198469][ C3] ? ct_kernel_exit.constprop.0+0xc5/0xf0 [ 36.198694][ C3] ? cpuidle_idle_call+0x1f4/0x280 [ 36.198897][ C3] default_idle_call+0x6d/0xb0 [ 36.199094][ C3] cpuidle_idle_call+0x1f4/0x280 [ 36.199413][ C3] ? __pfx_cpuidle_idle_call+0x10/0x10 [ 36.199612][ C3] ? tsc_verify_tsc_adjust+0x5e/0x2b0 [ 36.199823][ C3] do_idle+0xf9/0x160 [ 36.199976][ C3] cpu_startup_entry+0x54/0x60 [ 36.200174][ C3] start_secondary+0x21c/0x2b0 [ 36.200503][ C3] ? __pfx_start_secondary+0x10/0x10 [ 36.200703][ C3] common_startup_64+0x12c/0x138 [ 36.200908][ C3]