[ 23.161801][ T242] ip (242) used greatest stack depth: 23728 bytes left [ 24.861241][ T72] [ 24.861354][ T72] ===================================================== [ 24.861558][ T72] WARNING: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected [ 24.861823][ T72] 6.9.0-rc1-virtme #1 Not tainted [ 24.861993][ T72] ----------------------------------------------------- [ 24.862203][ T72] kworker/u16:1/72 [HC0[0]:SC0[2]:HE1:SE0] is trying to acquire: [ 24.862467][ T72] ffff8880053d4ee8 (&p->alloc_lock){+.+.}-{2:2}, at: __get_task_comm+0x27/0x70 [ 24.862791][ T72] [ 24.862791][ T72] and this task is already holding: [ 24.863042][ T72] ffff88803613f218 (&ul->lock){+.-.}-{2:2}, at: rt6_uncached_list_flush_dev+0x138/0x840 [ 24.863345][ T72] which would create a new lock dependency: [ 24.863553][ T72] (&ul->lock){+.-.}-{2:2} -> (&p->alloc_lock){+.+.}-{2:2} [ 24.863822][ T72] [ 24.863822][ T72] but this new dependency connects a SOFTIRQ-irq-safe lock: [ 24.864145][ T72] (&ul->lock){+.-.}-{2:2} [ 24.864149][ T72] [ 24.864149][ T72] ... which became SOFTIRQ-irq-safe at: [ 24.864570][ T72] __lock_acquire+0x797/0x1570 [ 24.864744][ T72] lock_acquire.part.0+0xeb/0x330 [ 24.864920][ T72] _raw_spin_lock_bh+0x38/0x50 [ 24.865083][ T72] rt6_uncached_list_del+0x77/0x200 [ 24.865245][ T72] ip6_dst_destroy+0x74/0x1e0 [ 24.865405][ T72] dst_destroy+0xbc/0x370 [ 24.865567][ T72] rcu_do_batch+0x3c0/0xfb0 [ 24.865731][ T72] rcu_core+0x2be/0x500 [ 24.865854][ T72] __do_softirq+0x1f8/0x5df [ 24.866017][ T72] run_ksoftirqd+0x2e/0x60 [ 24.866186][ T72] smpboot_thread_fn+0x306/0x840 [ 24.866348][ T72] kthread+0x28a/0x350 [ 24.866491][ T72] ret_from_fork+0x31/0x70 [ 24.866655][ T72] ret_from_fork_asm+0x1a/0x30 [ 24.866817][ T72] [ 24.866817][ T72] to a SOFTIRQ-irq-unsafe lock: [ 24.867016][ T72] (&p->alloc_lock){+.+.}-{2:2} [ 24.867020][ T72] [ 24.867020][ T72] ... which became SOFTIRQ-irq-unsafe at: [ 24.867429][ T72] ... [ 24.867430][ T72] __lock_acquire+0x797/0x1570 [ 24.867679][ T72] lock_acquire.part.0+0xeb/0x330 [ 24.867855][ T72] _raw_spin_lock+0x30/0x40 [ 24.868018][ T72] set_mems_allowed+0x1d/0x210 [ 24.868211][ T72] kernel_init_freeable+0x72/0x310 [ 24.868373][ T72] kernel_init+0x20/0x200 [ 24.868555][ T72] ret_from_fork+0x31/0x70 [ 24.868759][ T72] ret_from_fork_asm+0x1a/0x30 [ 24.868925][ T72] [ 24.868925][ T72] other info that might help us debug this: [ 24.868925][ T72] [ 24.869258][ T72] Possible interrupt unsafe locking scenario: [ 24.869258][ T72] [ 24.869514][ T72] CPU0 CPU1 [ 24.869681][ T72] ---- ---- [ 24.869840][ T72] lock(&p->alloc_lock); [ 24.869966][ T72] local_irq_disable(); [ 24.870183][ T72] lock(&ul->lock); [ 24.870400][ T72] lock(&p->alloc_lock); [ 24.870609][ T72] [ 24.870737][ T72] lock(&ul->lock); [ 24.870863][ T72] [ 24.870863][ T72] *** DEADLOCK *** [ 24.870863][ T72] [ 24.871112][ T72] 5 locks held by kworker/u16:1/72: [ 24.871284][ T72] #0: ffff88800190a948 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work+0xda6/0x1730 [ 24.871636][ T72] #1: ffffc900004dfda0 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work+0xde2/0x1730 [ 24.871930][ T72] #2: ffffffffb479bc50 (pernet_ops_rwsem){++++}-{3:3}, at: cleanup_net+0xbc/0xb60 [ 24.872240][ T72] #3: ffffffffb47b7208 (rtnl_mutex){+.+.}-{3:3}, at: default_device_exit_batch+0x81/0x2d0 [ 24.872678][ T72] #4: ffff88803613f218 (&ul->lock){+.-.}-{2:2}, at: rt6_uncached_list_flush_dev+0x138/0x840 [ 24.873035][ T72] [ 24.873035][ T72] the dependencies between SOFTIRQ-irq-safe lock and the holding lock: [ 24.873449][ T72] -> (&ul->lock){+.-.}-{2:2} { [ 24.873623][ T72] HARDIRQ-ON-W at: [ 24.873760][ T72] __lock_acquire+0x797/0x1570 [ 24.874063][ T72] lock_acquire.part.0+0xeb/0x330 [ 24.874455][ T72] _raw_spin_lock_bh+0x38/0x50 [ 24.874658][ T72] rt6_uncached_list_add+0x55/0x1b0 [ 24.874861][ T72] icmp6_dst_alloc+0x2c0/0x450 [ 24.875065][ T72] mld_sendpack+0x529/0xbc0 [ 24.875268][ T72] mld_ifc_work+0x32/0x1f0 [ 24.875472][ T72] process_one_work+0xe2c/0x1730 [ 24.875751][ T72] worker_thread+0x587/0xd30 [ 24.875955][ T72] kthread+0x28a/0x350 [ 24.876121][ T72] ret_from_fork+0x31/0x70 [ 24.876323][ T72] ret_from_fork_asm+0x1a/0x30 [ 24.876601][ T72] IN-SOFTIRQ-W at: [ 24.876721][ T72] __lock_acquire+0x797/0x1570 [ 24.876922][ T72] lock_acquire.part.0+0xeb/0x330 [ 24.877122][ T72] _raw_spin_lock_bh+0x38/0x50 [ 24.877399][ T72] rt6_uncached_list_del+0x77/0x200 [ 24.877601][ T72] ip6_dst_destroy+0x74/0x1e0 [ 24.877802][ T72] dst_destroy+0xbc/0x370 [ 24.878086][ T72] rcu_do_batch+0x3c0/0xfb0 [ 24.878288][ T72] rcu_core+0x2be/0x500 [ 24.878487][ T72] __do_softirq+0x1f8/0x5df [ 24.878689][ T72] run_ksoftirqd+0x2e/0x60 [ 24.878992][ T72] smpboot_thread_fn+0x306/0x840 [ 24.879215][ T72] kthread+0x28a/0x350 [ 24.879380][ T72] ret_from_fork+0x31/0x70 [ 24.879681][ T72] ret_from_fork_asm+0x1a/0x30 [ 24.879899][ T72] INITIAL USE at: [ 24.880112][ T72] __lock_acquire+0x797/0x1570 [ 24.880318][ T72] lock_acquire.part.0+0xeb/0x330 [ 24.880533][ T72] _raw_spin_lock_bh+0x38/0x50 [ 24.880747][ T72] rt6_uncached_list_add+0x55/0x1b0 [ 24.881043][ T72] icmp6_dst_alloc+0x2c0/0x450 [ 24.881271][ T72] mld_sendpack+0x529/0xbc0 [ 24.881483][ T72] mld_ifc_work+0x32/0x1f0 [ 24.881692][ T72] process_one_work+0xe2c/0x1730 [ 24.881997][ T72] worker_thread+0x587/0xd30 [ 24.882212][ T72] kthread+0x28a/0x350 [ 24.882384][ T72] ret_from_fork+0x31/0x70 [ 24.882594][ T72] ret_from_fork_asm+0x1a/0x30 [ 24.882909][ T72] } [ 24.882992][ T72] ... key at: [] __key.15+0x0/0x40 [ 24.883272][ T72] [ 24.883272][ T72] the dependencies between the lock to be acquired [ 24.883274][ T72] and SOFTIRQ-irq-unsafe lock: [ 24.883806][ T72] -> (&p->alloc_lock){+.+.}-{2:2} { [ 24.883982][ T72] HARDIRQ-ON-W at: [ 24.884118][ T72] __lock_acquire+0x797/0x1570 [ 24.884328][ T72] lock_acquire.part.0+0xeb/0x330 [ 24.884641][ T72] _raw_spin_lock+0x30/0x40 [ 24.884848][ T72] set_mems_allowed+0x1d/0x210 [ 24.885075][ T72] kernel_init_freeable+0x72/0x310 [ 24.885368][ T72] kernel_init+0x20/0x200 [ 24.885679][ T72] ret_from_fork+0x31/0x70 [ 24.885894][ T72] ret_from_fork_asm+0x1a/0x30 [ 24.886107][ T72] SOFTIRQ-ON-W at: [ 24.886308][ T72] __lock_acquire+0x797/0x1570 [ 24.886527][ T72] lock_acquire.part.0+0xeb/0x330 [ 24.886737][ T72] _raw_spin_lock+0x30/0x40 [ 24.886952][ T72] set_mems_allowed+0x1d/0x210 [ 24.887244][ T72] kernel_init_freeable+0x72/0x310 [ 24.887473][ T72] kernel_init+0x20/0x200 [ 24.887680][ T72] ret_from_fork+0x31/0x70 [ 24.887984][ T72] ret_from_fork_asm+0x1a/0x30 [ 24.888197][ T72] INITIAL USE at: [ 24.888345][ T72] __lock_acquire+0x797/0x1570 [ 24.888549][ T72] lock_acquire.part.0+0xeb/0x330 [ 24.888866][ T72] _raw_spin_lock+0x30/0x40 [ 24.889153][ T72] set_mems_allowed+0x1d/0x210 [ 24.889369][ T72] kernel_init_freeable+0x72/0x310 [ 24.889593][ T72] kernel_init+0x20/0x200 [ 24.889799][ T72] ret_from_fork+0x31/0x70 [ 24.890101][ T72] ret_from_fork_asm+0x1a/0x30 [ 24.890315][ T72] } [ 24.890403][ T72] ... key at: [] __key.388+0x0/0x40 [ 24.890755][ T72] ... acquired at: [ 24.890881][ T72] check_prev_add+0x194/0xce0 [ 24.891064][ T72] validate_chain+0x71d/0x9b0 [ 24.891313][ T72] __lock_acquire+0xaf0/0x1570 [ 24.891495][ T72] lock_acquire.part.0+0xeb/0x330 [ 24.891661][ T72] _raw_spin_lock+0x30/0x40 [ 24.891915][ T72] __get_task_comm+0x27/0x70 [ 24.892090][ T72] ref_tracker_alloc+0x2ee/0x490 [ 24.892259][ T72] rt6_uncached_list_flush_dev+0x494/0x840 [ 24.892468][ T72] rt6_disable_ip+0xd9/0x140 [ 24.892718][ T72] addrconf_ifdown.isra.0+0x103/0x1560 [ 24.892880][ T72] addrconf_notify+0xd1/0xd60 [ 24.893042][ T72] notifier_call_chain+0xcd/0x150 [ 24.893202][ T72] dev_close_many+0x2d8/0x650 [ 24.893363][ T72] unregister_netdevice_many_notify+0x3d5/0x1190 [ 24.893639][ T72] default_device_exit_batch+0x234/0x2d0 [ 24.893836][ T72] cleanup_net+0x4f3/0xb60 [ 24.893998][ T72] process_one_work+0xe2c/0x1730 [ 24.894160][ T72] worker_thread+0x587/0xd30 [ 24.894400][ T72] kthread+0x28a/0x350 [ 24.894523][ T72] ret_from_fork+0x31/0x70 [ 24.894689][ T72] ret_from_fork_asm+0x1a/0x30 [ 24.894851][ T72] [ 24.894934][ T72] [ 24.894934][ T72] stack backtrace: [ 24.895132][ T72] CPU: 0 PID: 72 Comm: kworker/u16:1 Not tainted 6.9.0-rc1-virtme #1 [ 24.895371][ T72] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 24.895724][ T72] Workqueue: netns cleanup_net [ 24.895890][ T72] Call Trace: [ 24.896019][ T72] [ 24.896104][ T72] dump_stack_lvl+0x82/0xd0 [ 24.896270][ T72] print_bad_irq_dependency+0x957/0xd40 [ 24.896436][ T72] ? __pfx_print_bad_irq_dependency+0x10/0x10 [ 24.896718][ T72] ? __pfx_usage_skip+0x10/0x10 [ 24.896880][ T72] ? __bfs+0x246/0x650 [ 24.897019][ T72] ? __pfx_usage_match+0x10/0x10 [ 24.897189][ T72] check_irq_usage+0x596/0x850 [ 24.897540][ T72] ? arch_stack_walk+0x8c/0xf0 [ 24.897708][ T72] ? __pfx_check_irq_usage+0x10/0x10 [ 24.897876][ T72] ? __bfs+0x246/0x650 [ 24.898022][ T72] ? __pfx_hlock_conflict+0x10/0x10 [ 24.898189][ T72] ? check_path.constprop.0+0x24/0x50 [ 24.898363][ T72] ? check_noncircular+0x14c/0x3e0 [ 24.898527][ T72] ? __pfx_check_noncircular+0x10/0x10 [ 24.898796][ T72] ? check_prev_add+0x194/0xce0 [ 24.898987][ T72] check_prev_add+0x194/0xce0 [ 24.899166][ T72] ? validate_chain+0x130/0x9b0 [ 24.899330][ T72] validate_chain+0x71d/0x9b0 [ 24.899585][ T72] ? mark_lock+0x38/0x3e0 [ 24.899720][ T72] ? __pfx_validate_chain+0x10/0x10 [ 24.899888][ T72] ? hlock_class+0x4e/0x130 [ 24.900059][ T72] ? mark_lock+0x38/0x3e0 [ 24.900199][ T72] __lock_acquire+0xaf0/0x1570 [ 24.900370][ T72] lock_acquire.part.0+0xeb/0x330 [ 24.900539][ T72] ? __get_task_comm+0x27/0x70 [ 24.900801][ T72] ? mark_lock+0x38/0x3e0 [ 24.900926][ T72] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 24.901107][ T72] ? trace_lock_acquire+0x135/0x1c0 [ 24.901274][ T72] ? __get_task_comm+0x27/0x70 [ 24.901518][ T72] ? lock_acquire+0x32/0xc0 [ 24.901706][ T72] ? __get_task_comm+0x27/0x70 [ 24.901868][ T72] _raw_spin_lock+0x30/0x40 [ 24.902053][ T72] ? __get_task_comm+0x27/0x70 [ 24.902217][ T72] __get_task_comm+0x27/0x70 [ 24.902385][ T72] ref_tracker_alloc+0x2ee/0x490 [ 24.902574][ T72] ? __pfx_ref_tracker_alloc+0x10/0x10 [ 24.902736][ T72] ? __lock_release+0x103/0x460 [ 24.902917][ T72] ? rt6_uncached_list_flush_dev+0x494/0x840 [ 24.903205][ T72] ? rt6_disable_ip+0xd9/0x140 [ 24.903375][ T72] ? addrconf_ifdown.isra.0+0x103/0x1560 [ 24.903558][ T72] ? addrconf_notify+0xd1/0xd60 [ 24.903728][ T72] ? notifier_call_chain+0xcd/0x150 [ 24.903988][ T72] ? dev_close_many+0x2d8/0x650 [ 24.904155][ T72] ? unregister_netdevice_many_notify+0x3d5/0x1190 [ 24.904364][ T72] ? default_device_exit_batch+0x234/0x2d0 [ 24.904653][ T72] ? cleanup_net+0x4f3/0xb60 [ 24.904837][ T72] ? process_one_work+0xe2c/0x1730 [ 24.905161][ T72] ? worker_thread+0x587/0xd30 [ 24.905335][ T72] ? kthread+0x28a/0x350 [ 24.905481][ T72] ? ret_from_fork+0x31/0x70 [ 24.905646][ T72] ? ret_from_fork_asm+0x1a/0x30 [ 24.905905][ T72] ? in6_dev_get+0xcc/0x210 [ 24.906075][ T72] rt6_uncached_list_flush_dev+0x494/0x840 [ 24.906298][ T72] rt6_disable_ip+0xd9/0x140 [ 24.906468][ T72] ? __pfx_rt6_disable_ip+0x10/0x10 [ 24.906637][ T72] ? mark_lock+0x38/0x3e0 [ 24.906850][ T72] addrconf_ifdown.isra.0+0x103/0x1560 [ 24.907019][ T72] ? __try_to_del_timer_sync+0xe7/0x140 [ 24.907197][ T72] ? __pfx_addrconf_ifdown.isra.0+0x10/0x10 [ 24.907414][ T72] addrconf_notify+0xd1/0xd60 [ 24.907591][ T72] notifier_call_chain+0xcd/0x150 [ 24.907838][ T72] dev_close_many+0x2d8/0x650 [ 24.908007][ T72] ? __pfx_dev_close_many+0x10/0x10 [ 24.908187][ T72] ? default_device_exit_batch+0x81/0x2d0 [ 24.908356][ T72] ? trace_contention_end+0xdc/0x140 [ 24.908526][ T72] unregister_netdevice_many_notify+0x3d5/0x1190 [ 24.908840][ T72] ? mutex_is_locked+0x17/0x50 [ 24.909013][ T72] ? __pfx_unregister_netdevice_many_notify+0x10/0x10 [ 24.909232][ T72] ? __pfx_unregister_netdevice_queue+0x10/0x10 [ 24.909534][ T72] default_device_exit_batch+0x234/0x2d0 [ 24.909704][ T72] ? __pfx_default_device_exit_batch+0x10/0x10 [ 24.909921][ T72] ? ops_exit_list+0xb4/0x170 [ 24.910086][ T72] cleanup_net+0x4f3/0xb60 [ 24.910354][ T72] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 24.910595][ T72] ? __pfx_cleanup_net+0x10/0x10 [ 24.910760][ T72] ? trace_lock_acquire+0x135/0x1c0 [ 24.910948][ T72] ? process_one_work+0xde2/0x1730 [ 24.911113][ T72] ? lock_acquire+0x32/0xc0 [ 24.911378][ T72] ? process_one_work+0xde2/0x1730 [ 24.911541][ T72] process_one_work+0xe2c/0x1730 [ 24.911704][ T72] ? __pfx___lock_release+0x10/0x10 [ 24.911867][ T72] ? __pfx_process_one_work+0x10/0x10 [ 24.912029][ T72] ? assign_work+0x16c/0x240 [ 24.912269][ T72] worker_thread+0x587/0xd30 [ 24.912435][ T72] ? lockdep_hardirqs_on_prepare.part.0+0x1af/0x370 [ 24.912642][ T72] ? __pfx_worker_thread+0x10/0x10 [ 24.912805][ T72] ? __pfx_worker_thread+0x10/0x10 [ 24.913042][ T72] kthread+0x28a/0x350 [ 24.913165][ T72] ? __pfx_kthread+0x10/0x10 [ 24.913327][ T72] ret_from_fork+0x31/0x70 [ 24.913493][ T72] ? __pfx_kthread+0x10/0x10 [ 24.913729][ T72] ret_from_fork_asm+0x1a/0x30 [ 24.913893][ T72]