[ 25.347030][ T251] ip (251) used greatest stack depth: 22752 bytes left [ 29.502720][ T286] br0: port 1(gw_l) entered blocking state [ 29.503172][ T286] br0: port 1(gw_l) entered disabled state [ 29.503435][ T286] gw_l: entered allmulticast mode [ 29.504646][ T286] gw_l: entered promiscuous mode [ 29.506627][ T286] br0: port 1(gw_l) entered blocking state [ 29.506887][ T286] br0: port 1(gw_l) entered forwarding state [ 30.182680][ T288] br0: port 2(amtg) entered blocking state [ 30.182911][ T288] br0: port 2(amtg) entered disabled state [ 30.183352][ T288] amtg: entered allmulticast mode [ 30.184611][ T288] amtg: entered promiscuous mode [ 32.616968][ T300] br0: port 2(amtg) entered blocking state [ 32.617238][ T300] br0: port 2(amtg) entered forwarding state [ 34.166975][ T309] amtr: entered allmulticast mode [ 34.167460][ T309] relay_gw: entered allmulticast mode [ 34.167703][ T309] relay_src: entered allmulticast mode [ 34.477673][ T72] br0: port 1(gw_l) entered disabled state [ 34.480560][ T72] [ 34.480657][ T72] ===================================================== [ 34.480846][ T72] WARNING: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected [ 34.481068][ T72] 6.9.0-rc1-virtme #1 Not tainted [ 34.481214][ T72] ----------------------------------------------------- [ 34.481413][ T72] kworker/u16:1/72 [HC0[0]:SC0[2]:HE1:SE0] is trying to acquire: [ 34.481636][ T72] ffff8880054e4ee8 (&p->alloc_lock){+.+.}-{2:2}, at: __get_task_comm+0x27/0x70 [ 34.481916][ T72] [ 34.481916][ T72] and this task is already holding: [ 34.482130][ T72] ffff88802f7bf218 (&ul->lock){+.-.}-{2:2}, at: rt6_uncached_list_flush_dev+0x138/0x840 [ 34.482399][ T72] which would create a new lock dependency: [ 34.482583][ T72] (&ul->lock){+.-.}-{2:2} -> (&p->alloc_lock){+.+.}-{2:2} [ 34.482802][ T72] [ 34.482802][ T72] but this new dependency connects a SOFTIRQ-irq-safe lock: [ 34.483063][ T72] (&ul->lock){+.-.}-{2:2} [ 34.483066][ T72] [ 34.483066][ T72] ... which became SOFTIRQ-irq-safe at: [ 34.483438][ T72] __lock_acquire+0x797/0x1570 [ 34.483605][ T72] lock_acquire.part.0+0xeb/0x330 [ 34.483755][ T72] _raw_spin_lock_bh+0x38/0x50 [ 34.483907][ T72] rt6_uncached_list_del+0x77/0x200 [ 34.484071][ T72] ip6_dst_destroy+0x74/0x1e0 [ 34.484227][ T72] dst_destroy+0xbc/0x370 [ 34.484375][ T72] rcu_do_batch+0x3c0/0xfb0 [ 34.484525][ T72] rcu_core+0x2be/0x500 [ 34.484642][ T72] __do_softirq+0x1f8/0x5df [ 34.484793][ T72] irq_exit_rcu+0x97/0xc0 [ 34.484941][ T72] sysvec_apic_timer_interrupt+0x75/0x80 [ 34.485086][ T72] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 34.485267][ T72] default_idle+0xf/0x20 [ 34.485378][ T72] default_idle_call+0x6d/0xb0 [ 34.485527][ T72] cpuidle_idle_call+0x1f4/0x280 [ 34.485679][ T72] do_idle+0xf9/0x160 [ 34.485788][ T72] cpu_startup_entry+0x54/0x60 [ 34.485950][ T72] rest_init+0x14f/0x260 [ 34.486058][ T72] start_kernel+0x318/0x3d0 [ 34.486206][ T72] x86_64_start_reservations+0x18/0x30 [ 34.486354][ T72] x86_64_start_kernel+0xba/0x110 [ 34.486497][ T72] common_startup_64+0x12c/0x138 [ 34.486645][ T72] [ 34.486645][ T72] to a SOFTIRQ-irq-unsafe lock: [ 34.486825][ T72] (&p->alloc_lock){+.+.}-{2:2} [ 34.486829][ T72] [ 34.486829][ T72] ... which became SOFTIRQ-irq-unsafe at: [ 34.487185][ T72] ... [ 34.487186][ T72] __lock_acquire+0x797/0x1570 [ 34.487402][ T72] lock_acquire.part.0+0xeb/0x330 [ 34.487546][ T72] _raw_spin_lock+0x30/0x40 [ 34.487690][ T72] set_mems_allowed+0x1d/0x210 [ 34.487840][ T72] kernel_init_freeable+0x72/0x310 [ 34.487991][ T72] kernel_init+0x20/0x200 [ 34.488131][ T72] ret_from_fork+0x31/0x70 [ 34.488286][ T72] ret_from_fork_asm+0x1a/0x30 [ 34.488430][ T72] [ 34.488430][ T72] other info that might help us debug this: [ 34.488430][ T72] [ 34.488711][ T72] Possible interrupt unsafe locking scenario: [ 34.488711][ T72] [ 34.488923][ T72] CPU0 CPU1 [ 34.489072][ T72] ---- ---- [ 34.489217][ T72] lock(&p->alloc_lock); [ 34.489328][ T72] local_irq_disable(); [ 34.489504][ T72] lock(&ul->lock); [ 34.489687][ T72] lock(&p->alloc_lock); [ 34.489870][ T72] [ 34.489996][ T72] lock(&ul->lock); [ 34.490108][ T72] [ 34.490108][ T72] *** DEADLOCK *** [ 34.490108][ T72] [ 34.490323][ T72] 5 locks held by kworker/u16:1/72: [ 34.490474][ T72] #0: ffff88800190a948 ((wq_completion)netns){+.+.}-{0:0}, at: process_one_work+0xda6/0x1730 [ 34.490777][ T72] #1: ffffc900004dfda0 (net_cleanup_work){+.+.}-{0:0}, at: process_one_work+0xde2/0x1730 [ 34.491032][ T72] #2: ffffffffadb9bc50 (pernet_ops_rwsem){++++}-{3:3}, at: cleanup_net+0xbc/0xb60 [ 34.491296][ T72] #3: ffffffffadbb7208 (rtnl_mutex){+.+.}-{3:3}, at: default_device_exit_batch+0x81/0x2d0 [ 34.491588][ T72] #4: ffff88802f7bf218 (&ul->lock){+.-.}-{2:2}, at: rt6_uncached_list_flush_dev+0x138/0x840 [ 34.491900][ T72] [ 34.491900][ T72] the dependencies between SOFTIRQ-irq-safe lock and the holding lock: [ 34.492185][ T72] -> (&ul->lock){+.-.}-{2:2} { [ 34.492355][ T72] HARDIRQ-ON-W at: [ 34.492474][ T72] __lock_acquire+0x797/0x1570 [ 34.492684][ T72] lock_acquire.part.0+0xeb/0x330 [ 34.492875][ T72] _raw_spin_lock_bh+0x38/0x50 [ 34.493071][ T72] rt6_uncached_list_add+0x55/0x1b0 [ 34.493264][ T72] icmp6_dst_alloc+0x2c0/0x450 [ 34.493451][ T72] mld_sendpack+0x529/0xbc0 [ 34.493640][ T72] mld_ifc_work+0x32/0x1f0 [ 34.493824][ T72] process_one_work+0xe2c/0x1730 [ 34.494010][ T72] worker_thread+0x587/0xd30 [ 34.494207][ T72] kthread+0x28a/0x350 [ 34.494352][ T72] ret_from_fork+0x31/0x70 [ 34.494535][ T72] ret_from_fork_asm+0x1a/0x30 [ 34.494721][ T72] IN-SOFTIRQ-W at: [ 34.494835][ T72] __lock_acquire+0x797/0x1570 [ 34.495019][ T72] lock_acquire.part.0+0xeb/0x330 [ 34.495203][ T72] _raw_spin_lock_bh+0x38/0x50 [ 34.495394][ T72] rt6_uncached_list_del+0x77/0x200 [ 34.495584][ T72] ip6_dst_destroy+0x74/0x1e0 [ 34.495770][ T72] dst_destroy+0xbc/0x370 [ 34.495964][ T72] rcu_do_batch+0x3c0/0xfb0 [ 34.496157][ T72] rcu_core+0x2be/0x500 [ 34.496343][ T72] __do_softirq+0x1f8/0x5df [ 34.496526][ T72] irq_exit_rcu+0x97/0xc0 [ 34.496713][ T72] sysvec_apic_timer_interrupt+0x75/0x80 [ 34.496939][ T72] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 34.497163][ T72] default_idle+0xf/0x20 [ 34.497368][ T72] default_idle_call+0x6d/0xb0 [ 34.497556][ T72] cpuidle_idle_call+0x1f4/0x280 [ 34.497739][ T72] do_idle+0xf9/0x160 [ 34.497898][ T72] cpu_startup_entry+0x54/0x60 [ 34.498085][ T72] rest_init+0x14f/0x260 [ 34.498270][ T72] start_kernel+0x318/0x3d0 [ 34.498455][ T72] x86_64_start_reservations+0x18/0x30 [ 34.498640][ T72] x86_64_start_kernel+0xba/0x110 [ 34.498829][ T72] common_startup_64+0x12c/0x138 [ 34.499021][ T72] INITIAL USE at: [ 34.499131][ T72] __lock_acquire+0x797/0x1570 [ 34.499317][ T72] lock_acquire.part.0+0xeb/0x330 [ 34.499501][ T72] _raw_spin_lock_bh+0x38/0x50 [ 34.499764][ T72] rt6_uncached_list_add+0x55/0x1b0 [ 34.499954][ T72] icmp6_dst_alloc+0x2c0/0x450 [ 34.500155][ T72] mld_sendpack+0x529/0xbc0 [ 34.500426][ T72] mld_ifc_work+0x32/0x1f0 [ 34.500612][ T72] process_one_work+0xe2c/0x1730 [ 34.500798][ T72] worker_thread+0x587/0xd30 [ 34.501061][ T72] kthread+0x28a/0x350 [ 34.501208][ T72] ret_from_fork+0x31/0x70 [ 34.501397][ T72] ret_from_fork_asm+0x1a/0x30 [ 34.501591][ T72] } [ 34.501749][ T72] ... key at: [] __key.15+0x0/0x40 [ 34.501970][ T72] [ 34.501970][ T72] the dependencies between the lock to be acquired [ 34.501972][ T72] and SOFTIRQ-irq-unsafe lock: [ 34.502438][ T72] -> (&p->alloc_lock){+.+.}-{2:2} { [ 34.502593][ T72] HARDIRQ-ON-W at: [ 34.502707][ T72] __lock_acquire+0x797/0x1570 [ 34.502896][ T72] lock_acquire.part.0+0xeb/0x330 [ 34.503159][ T72] _raw_spin_lock+0x30/0x40 [ 34.503424][ T72] set_mems_allowed+0x1d/0x210 [ 34.503607][ T72] kernel_init_freeable+0x72/0x310 [ 34.503797][ T72] kernel_init+0x20/0x200 [ 34.503978][ T72] ret_from_fork+0x31/0x70 [ 34.504250][ T72] ret_from_fork_asm+0x1a/0x30 [ 34.504436][ T72] SOFTIRQ-ON-W at: [ 34.504549][ T72] __lock_acquire+0x797/0x1570 [ 34.504737][ T72] lock_acquire.part.0+0xeb/0x330 [ 34.504919][ T72] _raw_spin_lock+0x30/0x40 [ 34.505106][ T72] set_mems_allowed+0x1d/0x210 [ 34.505379][ T72] kernel_init_freeable+0x72/0x310 [ 34.505562][ T72] kernel_init+0x20/0x200 [ 34.505745][ T72] ret_from_fork+0x31/0x70 [ 34.506010][ T72] ret_from_fork_asm+0x1a/0x30 [ 34.506192][ T72] INITIAL USE at: [ 34.506302][ T72] __lock_acquire+0x797/0x1570 [ 34.506486][ T72] lock_acquire.part.0+0xeb/0x330 [ 34.506753][ T72] _raw_spin_lock+0x30/0x40 [ 34.506937][ T72] set_mems_allowed+0x1d/0x210 [ 34.507124][ T72] kernel_init_freeable+0x72/0x310 [ 34.507388][ T72] kernel_init+0x20/0x200 [ 34.507577][ T72] ret_from_fork+0x31/0x70 [ 34.507761][ T72] ret_from_fork_asm+0x1a/0x30 [ 34.507947][ T72] } [ 34.508176][ T72] ... key at: [] __key.388+0x0/0x40 [ 34.508392][ T72] ... acquired at: [ 34.508502][ T72] check_prev_add+0x194/0xce0 [ 34.508650][ T72] validate_chain+0x71d/0x9b0 [ 34.508871][ T72] __lock_acquire+0xaf0/0x1570 [ 34.509015][ T72] lock_acquire.part.0+0xeb/0x330 [ 34.509160][ T72] _raw_spin_lock+0x30/0x40 [ 34.509305][ T72] __get_task_comm+0x27/0x70 [ 34.509455][ T72] ref_tracker_alloc+0x2ee/0x490 [ 34.509682][ T72] rt6_uncached_list_flush_dev+0x494/0x840 [ 34.509863][ T72] rt6_disable_ip+0xd9/0x140 [ 34.510026][ T72] addrconf_ifdown.isra.0+0x103/0x1560 [ 34.510173][ T72] addrconf_notify+0xd1/0xd60 [ 34.510392][ T72] notifier_call_chain+0xcd/0x150 [ 34.510551][ T72] unregister_netdevice_many_notify+0x548/0x1190 [ 34.510749][ T72] default_device_exit_batch+0x234/0x2d0 [ 34.511011][ T72] cleanup_net+0x4f3/0xb60 [ 34.511159][ T72] process_one_work+0xe2c/0x1730 [ 34.511312][ T72] worker_thread+0x587/0xd30 [ 34.511462][ T72] kthread+0x28a/0x350 [ 34.511568][ T72] ret_from_fork+0x31/0x70 [ 34.511793][ T72] ret_from_fork_asm+0x1a/0x30 [ 34.511940][ T72] [ 34.512014][ T72] [ 34.512014][ T72] stack backtrace: [ 34.512274][ T72] CPU: 3 PID: 72 Comm: kworker/u16:1 Not tainted 6.9.0-rc1-virtme #1 [ 34.512499][ T72] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 34.512938][ T72] Workqueue: netns cleanup_net [ 34.513091][ T72] Call Trace: [ 34.513288][ T72] [ 34.513358][ T72] dump_stack_lvl+0x82/0xd0 [ 34.513512][ T72] print_bad_irq_dependency+0x957/0xd40 [ 34.513657][ T72] ? __pfx_print_bad_irq_dependency+0x10/0x10 [ 34.513852][ T72] ? __pfx_usage_skip+0x10/0x10 [ 34.514076][ T72] ? __bfs+0x246/0x650 [ 34.514186][ T72] ? __pfx_usage_match+0x10/0x10 [ 34.514334][ T72] check_irq_usage+0x596/0x850 [ 34.514481][ T72] ? arch_stack_walk+0x8c/0xf0 [ 34.514716][ T72] ? __pfx_check_irq_usage+0x10/0x10 [ 34.514864][ T72] ? __bfs+0x246/0x650 [ 34.514978][ T72] ? __pfx_hlock_conflict+0x10/0x10 [ 34.515130][ T72] ? check_path.constprop.0+0x24/0x50 [ 34.515278][ T72] ? check_noncircular+0x14c/0x3e0 [ 34.515587][ T72] ? __pfx_check_noncircular+0x10/0x10 [ 34.515743][ T72] ? check_prev_add+0x194/0xce0 [ 34.515891][ T72] check_prev_add+0x194/0xce0 [ 34.516054][ T72] ? validate_chain+0x130/0x9b0 [ 34.516206][ T72] validate_chain+0x71d/0x9b0 [ 34.516351][ T72] ? mark_lock+0x38/0x3e0 [ 34.516464][ T72] ? __pfx_validate_chain+0x10/0x10 [ 34.516615][ T72] ? hlock_class+0x4e/0x130 [ 34.516845][ T72] ? mark_lock+0x38/0x3e0 [ 34.516958][ T72] __lock_acquire+0xaf0/0x1570 [ 34.517108][ T72] lock_acquire.part.0+0xeb/0x330 [ 34.517255][ T72] ? __get_task_comm+0x27/0x70 [ 34.517403][ T72] ? mark_lock+0x38/0x3e0 [ 34.517598][ T72] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 34.517750][ T72] ? trace_lock_acquire+0x135/0x1c0 [ 34.517906][ T72] ? __get_task_comm+0x27/0x70 [ 34.518053][ T72] ? lock_acquire+0x32/0xc0 [ 34.518277][ T72] ? __get_task_comm+0x27/0x70 [ 34.518428][ T72] _raw_spin_lock+0x30/0x40 [ 34.518576][ T72] ? __get_task_comm+0x27/0x70 [ 34.518727][ T72] __get_task_comm+0x27/0x70 [ 34.518876][ T72] ref_tracker_alloc+0x2ee/0x490 [ 34.519170][ T72] ? __pfx_ref_tracker_alloc+0x10/0x10 [ 34.519314][ T72] ? __lock_release+0x103/0x460 [ 34.519466][ T72] ? rt6_uncached_list_flush_dev+0x494/0x840 [ 34.519654][ T72] ? rt6_disable_ip+0xd9/0x140 [ 34.519877][ T72] ? addrconf_ifdown.isra.0+0x103/0x1560 [ 34.520105][ T72] ? addrconf_notify+0xd1/0xd60 [ 34.520250][ T72] ? notifier_call_chain+0xcd/0x150 [ 34.520400][ T72] ? unregister_netdevice_many_notify+0x548/0x1190 [ 34.520593][ T72] ? default_device_exit_batch+0x234/0x2d0 [ 34.520773][ T72] ? cleanup_net+0x4f3/0xb60 [ 34.521000][ T72] ? process_one_work+0xe2c/0x1730 [ 34.521145][ T72] ? worker_thread+0x587/0xd30 [ 34.521372][ T72] ? kthread+0x28a/0x350 [ 34.521480][ T72] ? ret_from_fork+0x31/0x70 [ 34.521649][ T72] ? ret_from_fork_asm+0x1a/0x30 [ 34.521802][ T72] ? in6_dev_get+0xcc/0x210 [ 34.522034][ T72] rt6_uncached_list_flush_dev+0x494/0x840 [ 34.522215][ T72] rt6_disable_ip+0xd9/0x140 [ 34.522362][ T72] ? __pfx_rt6_disable_ip+0x10/0x10 [ 34.522510][ T72] ? hlock_class+0x4e/0x130 [ 34.522730][ T72] addrconf_ifdown.isra.0+0x103/0x1560 [ 34.522879][ T72] ? __try_to_del_timer_sync+0xe7/0x140 [ 34.523111][ T72] ? __pfx_addrconf_ifdown.isra.0+0x10/0x10 [ 34.523299][ T72] addrconf_notify+0xd1/0xd60 [ 34.523454][ T72] notifier_call_chain+0xcd/0x150 [ 34.523604][ T72] unregister_netdevice_many_notify+0x548/0x1190 [ 34.523874][ T72] ? mutex_is_locked+0x17/0x50 [ 34.524032][ T72] ? __pfx_unregister_netdevice_many_notify+0x10/0x10 [ 34.524218][ T72] ? __pfx_unregister_netdevice_queue+0x10/0x10 [ 34.524414][ T72] default_device_exit_batch+0x234/0x2d0 [ 34.524561][ T72] ? __pfx_default_device_exit_batch+0x10/0x10 [ 34.524747][ T72] ? ops_exit_list+0xb4/0x170 [ 34.524975][ T72] cleanup_net+0x4f3/0xb60 [ 34.525120][ T72] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 34.525271][ T72] ? __pfx_cleanup_net+0x10/0x10 [ 34.525416][ T72] ? trace_lock_acquire+0x135/0x1c0 [ 34.525562][ T72] ? process_one_work+0xde2/0x1730 [ 34.525706][ T72] ? lock_acquire+0x32/0xc0 [ 34.525849][ T72] ? process_one_work+0xde2/0x1730 [ 34.526004][ T72] process_one_work+0xe2c/0x1730 [ 34.526226][ T72] ? __pfx___lock_release+0x10/0x10 [ 34.526369][ T72] ? __pfx_process_one_work+0x10/0x10 [ 34.526516][ T72] ? assign_work+0x16c/0x240 [ 34.526661][ T72] worker_thread+0x587/0xd30 [ 34.526883][ T72] ? lockdep_hardirqs_on_prepare.part.0+0x1af/0x370 [ 34.527066][ T72] ? __pfx_worker_thread+0x10/0x10 [ 34.527216][ T72] ? __pfx_worker_thread+0x10/0x10 [ 34.527360][ T72] kthread+0x28a/0x350 [ 34.527469][ T72] ? __pfx_kthread+0x10/0x10 [ 34.527689][ T72] ret_from_fork+0x31/0x70 [ 34.527836][ T72] ? __pfx_kthread+0x10/0x10 [ 34.527979][ T72] ret_from_fork_asm+0x1a/0x30 [ 34.528127][ T72] [ 34.530175][ T72] gw_l (unregistering): left allmulticast mode [ 34.530360][ T72] gw_l (unregistering): left promiscuous mode [ 34.530543][ T72] br0: port 1(gw_l) entered disabled state [ 34.569663][ T72] amtg: left allmulticast mode [ 34.569828][ T72] amtg: left promiscuous mode [ 34.570082][ T72] br0: port 2(amtg) entered disabled state [ 34.631825][ T72] relay_gw (unregistering): left allmulticast mode [ 34.650632][ T72] amtr (unregistering): left allmulticast mode [ 34.808636][ T72] relay_src (unregistering): left allmulticast mode