[ 64.404180][ T1293] ip (1293) used greatest stack depth: 23152 bytes left [ 172.861458][ T10] [ 172.861578][ T10] ===================================================== [ 172.861770][ T10] WARNING: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected [ 172.861990][ T10] 6.9.0-rc1-virtme #1 Not tainted [ 172.862136][ T10] ----------------------------------------------------- [ 172.862311][ T10] kworker/u16:0/10 [HC0[0]:SC0[2]:HE1:SE0] is trying to acquire: [ 172.862534][ T10] ffff888001a70968 (&p->alloc_lock){+.+.}-{2:2}, at: __get_task_comm+0x27/0x70 [ 172.862799][ T10] [ 172.862799][ T10] and this task is already holding: [ 172.863017][ T10] ffff88802f6bf218 (&ul->lock){+.-.}-{2:2}, at: rt6_uncached_list_flush_dev+0x138/0x840 [ 172.863280][ T10] which would create a new lock dependency: [ 172.863452][ T10] (&ul->lock){+.-.}-{2:2} -> (&p->alloc_lock){+.+.}-{2:2} [ 172.863669][ T10] [ 172.863669][ T10] but this new dependency connects a SOFTIRQ-irq-safe lock: [ 172.863921][ T10] (&ul->lock){+.-.}-{2:2} [ 172.863925][ T10] [ 172.863925][ T10] ... which became SOFTIRQ-irq-safe at: [ 172.864277][ T10] __lock_acquire+0x797/0x1570 [ 172.864428][ T10] lock_acquire.part.0+0xeb/0x330 [ 172.864574][ T10] _raw_spin_lock_bh+0x38/0x50 [ 172.864723][ T10] rt6_uncached_list_del+0x77/0x200 [ 172.864870][ T10] ip6_dst_destroy+0x74/0x1e0 [ 172.865013][ T10] dst_destroy+0xbc/0x370 [ 172.865155][ T10] rcu_do_batch+0x3c0/0xfb0 [ 172.865297][ T10] rcu_core+0x2be/0x500 [ 172.865405][ T10] __do_softirq+0x1f8/0x5df [ 172.865552][ T10] irq_exit_rcu+0x97/0xc0 [ 172.865702][ T10] sysvec_apic_timer_interrupt+0x75/0x80 [ 172.865857][ T10] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 172.866043][ T10] default_idle+0xf/0x20 [ 172.866154][ T10] default_idle_call+0x6d/0xb0 [ 172.866294][ T10] cpuidle_idle_call+0x1f4/0x280 [ 172.866447][ T10] do_idle+0xf9/0x160 [ 172.866561][ T10] cpu_startup_entry+0x54/0x60 [ 172.866713][ T10] start_secondary+0x21c/0x2b0 [ 172.866870][ T10] common_startup_64+0x12c/0x138 [ 172.867025][ T10] [ 172.867025][ T10] to a SOFTIRQ-irq-unsafe lock: [ 172.867207][ T10] (&p->alloc_lock){+.+.}-{2:2} [ 172.867212][ T10] [ 172.867212][ T10] ... which became SOFTIRQ-irq-unsafe at: [ 172.867579][ T10] ... [ 172.867580][ T10] __lock_acquire+0x797/0x1570 [ 172.867800][ T10] lock_acquire.part.0+0xeb/0x330 [ 172.867946][ T10] _raw_spin_lock+0x30/0x40 [ 172.868097][ T10] set_mems_allowed+0x1d/0x210 [ 172.868250][ T10] kernel_init_freeable+0x72/0x310 [ 172.868398][ T10] kernel_init+0x20/0x200 [ 172.868543][ T10] ret_from_fork+0x31/0x70 [ 172.868695][ T10] ret_from_fork_asm+0x1a/0x30 [ 172.868842][ T10] [ 172.868842][ T10] other info that might help us debug this: [ 172.868842][ T10] [ 172.869132][ T10] Possible interrupt unsafe locking scenario: [ 172.869132][ T10] [ 172.869368][ T10] CPU0 CPU1 [ 172.869513][ T10] ---- ---- [ 172.869660][ T10] lock(&p->alloc_lock); [ 172.869772][ T10] local_irq_disable(); [ 172.869948][ T10] lock(&ul->lock); [ 172.870128][ T10] lock(&p->alloc_lock); [ 172.870313][ T10] [ 172.870426][ T10] lock(&ul->lock); [ 172.870548][ T10] [ 172.870548][ T10] *** DEADLOCK *** [ 172.870548][ T10] [ 172.870758][ T10] 5 locks held by kworker/u16:0/10: [ 172.870905][ T10] #0: ffff88800190a948 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work+0xda6/0x1730 [ 172.871205][ T10] #1: ffffc900000afda0 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work+0xde2/0x1730 [ 172.871469][ T10] #2: ffffffffa8f9bc50 (pernet_ops_rwsem){++++}-{3:3}, at: cleanup_net+0xbc/0xb60 [ 172.871733][ T10] #3: ffffffffa8fb7208 (rtnl_mutex){+.+.}-{3:3}, at: default_device_exit_batch+0x81/0x2d0 [ 172.872028][ T10] #4: ffff88802f6bf218 (&ul->lock){+.-.}-{2:2}, at: rt6_uncached_list_flush_dev+0x138/0x840 [ 172.872330][ T10] [ 172.872330][ T10] the dependencies between SOFTIRQ-irq-safe lock and the holding lock: [ 172.872619][ T10] -> (&ul->lock){+.-.}-{2:2} { [ 172.872771][ T10] HARDIRQ-ON-W at: [ 172.872879][ T10] __lock_acquire+0x797/0x1570 [ 172.873067][ T10] lock_acquire.part.0+0xeb/0x330 [ 172.873251][ T10] _raw_spin_lock_bh+0x38/0x50 [ 172.873434][ T10] rt6_uncached_list_add+0x55/0x1b0 [ 172.873621][ T10] icmp6_dst_alloc+0x2c0/0x450 [ 172.873806][ T10] mld_sendpack+0x529/0xbc0 [ 172.873989][ T10] mld_ifc_work+0x32/0x1f0 [ 172.874173][ T10] process_one_work+0xe2c/0x1730 [ 172.874359][ T10] worker_thread+0x587/0xd30 [ 172.874539][ T10] kthread+0x28a/0x350 [ 172.874691][ T10] ret_from_fork+0x31/0x70 [ 172.874874][ T10] ret_from_fork_asm+0x1a/0x30 [ 172.875059][ T10] IN-SOFTIRQ-W at: [ 172.875172][ T10] __lock_acquire+0x797/0x1570 [ 172.875351][ T10] lock_acquire.part.0+0xeb/0x330 [ 172.875541][ T10] _raw_spin_lock_bh+0x38/0x50 [ 172.875730][ T10] rt6_uncached_list_del+0x77/0x200 [ 172.875911][ T10] ip6_dst_destroy+0x74/0x1e0 [ 172.876092][ T10] dst_destroy+0xbc/0x370 [ 172.876276][ T10] rcu_do_batch+0x3c0/0xfb0 [ 172.876459][ T10] rcu_core+0x2be/0x500 [ 172.876643][ T10] __do_softirq+0x1f8/0x5df [ 172.876829][ T10] irq_exit_rcu+0x97/0xc0 [ 172.877012][ T10] sysvec_apic_timer_interrupt+0x75/0x80 [ 172.877233][ T10] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 172.877451][ T10] default_idle+0xf/0x20 [ 172.877627][ T10] default_idle_call+0x6d/0xb0 [ 172.877817][ T10] cpuidle_idle_call+0x1f4/0x280 [ 172.878005][ T10] do_idle+0xf9/0x160 [ 172.878228][ T10] cpu_startup_entry+0x54/0x60 [ 172.878408][ T10] start_secondary+0x21c/0x2b0 [ 172.878588][ T10] common_startup_64+0x12c/0x138 [ 172.878769][ T10] INITIAL USE at: [ 172.878952][ T10] __lock_acquire+0x797/0x1570 [ 172.879135][ T10] lock_acquire.part.0+0xeb/0x330 [ 172.879316][ T10] _raw_spin_lock_bh+0x38/0x50 [ 172.879577][ T10] rt6_uncached_list_add+0x55/0x1b0 [ 172.879755][ T10] icmp6_dst_alloc+0x2c0/0x450 [ 172.879932][ T10] mld_sendpack+0x529/0xbc0 [ 172.880117][ T10] mld_ifc_work+0x32/0x1f0 [ 172.880372][ T10] process_one_work+0xe2c/0x1730 [ 172.880557][ T10] worker_thread+0x587/0xd30 [ 172.880738][ T10] kthread+0x28a/0x350 [ 172.880959][ T10] ret_from_fork+0x31/0x70 [ 172.881138][ T10] ret_from_fork_asm+0x1a/0x30 [ 172.881320][ T10] } [ 172.881395][ T10] ... key at: [] __key.15+0x0/0x40 [ 172.881684][ T10] [ 172.881684][ T10] the dependencies between the lock to be acquired [ 172.881686][ T10] and SOFTIRQ-irq-unsafe lock: [ 172.882083][ T10] -> (&p->alloc_lock){+.+.}-{2:2} { [ 172.882231][ T10] HARDIRQ-ON-W at: [ 172.882417][ T10] __lock_acquire+0x797/0x1570 [ 172.882602][ T10] lock_acquire.part.0+0xeb/0x330 [ 172.882787][ T10] _raw_spin_lock+0x30/0x40 [ 172.883044][ T10] set_mems_allowed+0x1d/0x210 [ 172.883228][ T10] kernel_init_freeable+0x72/0x310 [ 172.883409][ T10] kernel_init+0x20/0x200 [ 172.883589][ T10] ret_from_fork+0x31/0x70 [ 172.883873][ T10] ret_from_fork_asm+0x1a/0x30 [ 172.884048][ T10] SOFTIRQ-ON-W at: [ 172.884162][ T10] __lock_acquire+0x797/0x1570 [ 172.884350][ T10] lock_acquire.part.0+0xeb/0x330 [ 172.884526][ T10] _raw_spin_lock+0x30/0x40 [ 172.884785][ T10] set_mems_allowed+0x1d/0x210 [ 172.884967][ T10] kernel_init_freeable+0x72/0x310 [ 172.885238][ T10] kernel_init+0x20/0x200 [ 172.885420][ T10] ret_from_fork+0x31/0x70 [ 172.885606][ T10] ret_from_fork_asm+0x1a/0x30 [ 172.885884][ T10] INITIAL USE at: [ 172.885996][ T10] __lock_acquire+0x797/0x1570 [ 172.886176][ T10] lock_acquire.part.0+0xeb/0x330 [ 172.886358][ T10] _raw_spin_lock+0x30/0x40 [ 172.886550][ T10] set_mems_allowed+0x1d/0x210 [ 172.886735][ T10] kernel_init_freeable+0x72/0x310 [ 172.886915][ T10] kernel_init+0x20/0x200 [ 172.887100][ T10] ret_from_fork+0x31/0x70 [ 172.887374][ T10] ret_from_fork_asm+0x1a/0x30 [ 172.887553][ T10] } [ 172.887628][ T10] ... key at: [] __key.388+0x0/0x40 [ 172.887926][ T10] ... acquired at: [ 172.888121][ T10] check_prev_add+0x194/0xce0 [ 172.888272][ T10] validate_chain+0x71d/0x9b0 [ 172.888413][ T10] __lock_acquire+0xaf0/0x1570 [ 172.888552][ T10] lock_acquire.part.0+0xeb/0x330 [ 172.888699][ T10] _raw_spin_lock+0x30/0x40 [ 172.888843][ T10] __get_task_comm+0x27/0x70 [ 172.889077][ T10] ref_tracker_alloc+0x2ee/0x490 [ 172.889219][ T10] rt6_uncached_list_flush_dev+0x494/0x840 [ 172.889404][ T10] rt6_disable_ip+0xd9/0x140 [ 172.889550][ T10] addrconf_ifdown.isra.0+0x103/0x1560 [ 172.889690][ T10] addrconf_notify+0xd1/0xd60 [ 172.889919][ T10] notifier_call_chain+0xcd/0x150 [ 172.890065][ T10] unregister_netdevice_many_notify+0x548/0x1190 [ 172.890250][ T10] default_device_exit_batch+0x234/0x2d0 [ 172.890430][ T10] cleanup_net+0x4f3/0xb60 [ 172.890586][ T10] process_one_work+0xe2c/0x1730 [ 172.890822][ T10] worker_thread+0x587/0xd30 [ 172.890970][ T10] kthread+0x28a/0x350 [ 172.891082][ T10] ret_from_fork+0x31/0x70 [ 172.891227][ T10] ret_from_fork_asm+0x1a/0x30 [ 172.891456][ T10] [ 172.891530][ T10] [ 172.891530][ T10] stack backtrace: [ 172.891709][ T10] CPU: 1 PID: 10 Comm: kworker/u16:0 Not tainted 6.9.0-rc1-virtme #1 [ 172.891922][ T10] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 172.892314][ T10] Workqueue: netns cleanup_net [ 172.892463][ T10] Call Trace: [ 172.892661][ T10] [ 172.892742][ T10] dump_stack_lvl+0x82/0xd0 [ 172.892894][ T10] print_bad_irq_dependency+0x957/0xd40 [ 172.893040][ T10] ? __pfx_print_bad_irq_dependency+0x10/0x10 [ 172.893227][ T10] ? __pfx_usage_skip+0x10/0x10 [ 172.893375][ T10] ? __bfs+0x246/0x650 [ 172.893565][ T10] ? __pfx_usage_match+0x10/0x10 [ 172.893712][ T10] check_irq_usage+0x596/0x850 [ 172.893859][ T10] ? arch_stack_walk+0x8c/0xf0 [ 172.894008][ T10] ? __pfx_check_irq_usage+0x10/0x10 [ 172.894158][ T10] ? __bfs+0x246/0x650 [ 172.894345][ T10] ? __pfx_hlock_conflict+0x10/0x10 [ 172.894490][ T10] ? check_path.constprop.0+0x24/0x50 [ 172.894635][ T10] ? check_noncircular+0x14c/0x3e0 [ 172.894784][ T10] ? __pfx_check_noncircular+0x10/0x10 [ 172.895013][ T10] ? check_prev_add+0x194/0xce0 [ 172.895165][ T10] check_prev_add+0x194/0xce0 [ 172.895312][ T10] ? validate_chain+0x130/0x9b0 [ 172.895456][ T10] validate_chain+0x71d/0x9b0 [ 172.895689][ T10] ? mark_lock+0x38/0x3e0 [ 172.895799][ T10] ? __pfx_validate_chain+0x10/0x10 [ 172.895949][ T10] ? hlock_class+0x4e/0x130 [ 172.896093][ T10] ? mark_lock+0x38/0x3e0 [ 172.896203][ T10] __lock_acquire+0xaf0/0x1570 [ 172.896434][ T10] lock_acquire.part.0+0xeb/0x330 [ 172.896578][ T10] ? __get_task_comm+0x27/0x70 [ 172.896787][ T10] ? mark_lock+0x38/0x3e0 [ 172.896902][ T10] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 172.897048][ T10] ? trace_lock_acquire+0x135/0x1c0 [ 172.897278][ T10] ? __get_task_comm+0x27/0x70 [ 172.897424][ T10] ? lock_acquire+0x32/0xc0 [ 172.897566][ T10] ? __get_task_comm+0x27/0x70 [ 172.897715][ T10] _raw_spin_lock+0x30/0x40 [ 172.897857][ T10] ? __get_task_comm+0x27/0x70 [ 172.898078][ T10] __get_task_comm+0x27/0x70 [ 172.898225][ T10] ref_tracker_alloc+0x2ee/0x490 [ 172.898375][ T10] ? __pfx_ref_tracker_alloc+0x10/0x10 [ 172.898523][ T10] ? __lock_release+0x103/0x460 [ 172.898750][ T10] ? rt6_uncached_list_flush_dev+0x494/0x840 [ 172.898929][ T10] ? rt6_disable_ip+0xd9/0x140 [ 172.899074][ T10] ? addrconf_ifdown.isra.0+0x103/0x1560 [ 172.899221][ T10] ? addrconf_notify+0xd1/0xd60 [ 172.899364][ T10] ? notifier_call_chain+0xcd/0x150 [ 172.899510][ T10] ? unregister_netdevice_many_notify+0x548/0x1190 [ 172.899694][ T10] ? default_device_exit_batch+0x234/0x2d0 [ 172.899953][ T10] ? cleanup_net+0x4f3/0xb60 [ 172.900095][ T10] ? process_one_work+0xe2c/0x1730 [ 172.900242][ T10] ? worker_thread+0x587/0xd30 [ 172.900387][ T10] ? kthread+0x28a/0x350 [ 172.900580][ T10] ? ret_from_fork+0x31/0x70 [ 172.900727][ T10] ? ret_from_fork_asm+0x1a/0x30 [ 172.900871][ T10] ? in6_dev_get+0xcc/0x210 [ 172.901017][ T10] rt6_uncached_list_flush_dev+0x494/0x840 [ 172.901268][ T10] rt6_disable_ip+0xd9/0x140 [ 172.901412][ T10] ? __pfx_rt6_disable_ip+0x10/0x10 [ 172.901555][ T10] ? hlock_class+0x4e/0x130 [ 172.901706][ T10] addrconf_ifdown.isra.0+0x103/0x1560 [ 172.901850][ T10] ? __try_to_del_timer_sync+0xe7/0x140 [ 172.902073][ T10] ? __pfx_addrconf_ifdown.isra.0+0x10/0x10 [ 172.902257][ T10] addrconf_notify+0xd1/0xd60 [ 172.902400][ T10] notifier_call_chain+0xcd/0x150 [ 172.902547][ T10] unregister_netdevice_many_notify+0x548/0x1190 [ 172.902802][ T10] ? mutex_is_locked+0x17/0x50 [ 172.902949][ T10] ? __pfx_unregister_netdevice_many_notify+0x10/0x10 [ 172.903127][ T10] ? __pfx_unregister_netdevice_queue+0x10/0x10 [ 172.903382][ T10] default_device_exit_batch+0x234/0x2d0 [ 172.903531][ T10] ? __pfx_default_device_exit_batch+0x10/0x10 [ 172.903711][ T10] ? ops_exit_list+0xb4/0x170 [ 172.903858][ T10] cleanup_net+0x4f3/0xb60 [ 172.904076][ T10] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 172.904221][ T10] ? __pfx_cleanup_net+0x10/0x10 [ 172.904363][ T10] ? trace_lock_acquire+0x135/0x1c0 [ 172.904510][ T10] ? process_one_work+0xde2/0x1730 [ 172.904738][ T10] ? lock_acquire+0x32/0xc0 [ 172.904883][ T10] ? process_one_work+0xde2/0x1730 [ 172.905031][ T10] process_one_work+0xe2c/0x1730 [ 172.905177][ T10] ? __pfx___lock_release+0x10/0x10 [ 172.905321][ T10] ? __pfx_process_one_work+0x10/0x10 [ 172.905466][ T10] ? assign_work+0x16c/0x240 [ 172.905612][ T10] worker_thread+0x587/0xd30 [ 172.905757][ T10] ? __pfx_worker_thread+0x10/0x10 [ 172.905901][ T10] kthread+0x28a/0x350 [ 172.906089][ T10] ? __pfx_kthread+0x10/0x10 [ 172.906236][ T10] ret_from_fork+0x31/0x70 [ 172.906382][ T10] ? __pfx_kthread+0x10/0x10 [ 172.906526][ T10] ret_from_fork_asm+0x1a/0x30 [ 172.906760][ T10]