[ 21.905343][ T234] xdummy0: entered promiscuous mode [ 21.916262][ T234] xdummy0: left promiscuous mode [ 21.972528][ T236] xdummy0: entered promiscuous mode [ 21.981745][ T236] xdummy0: left promiscuous mode [ 21.982327][ T236] [ 21.982409][ T236] ===================================================== [ 21.982578][ T236] WARNING: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected [ 21.982784][ T236] 6.9.0-rc1-virtme #1 Not tainted [ 21.982921][ T236] ----------------------------------------------------- [ 21.983091][ T236] tap/236 [HC0[0]:SC0[2]:HE1:SE0] is trying to acquire: [ 21.983261][ T236] ffff88800d73cee8 (&p->alloc_lock){+.+.}-{2:2}, at: __get_task_comm+0x27/0x70 [ 21.983512][ T236] [ 21.983512][ T236] and this task is already holding: [ 21.983713][ T236] ffff88803603f218 (&ul->lock){+.-.}-{2:2}, at: rt6_uncached_list_flush_dev+0x138/0x840 [ 21.983957][ T236] which would create a new lock dependency: [ 21.984131][ T236] (&ul->lock){+.-.}-{2:2} -> (&p->alloc_lock){+.+.}-{2:2} [ 21.984342][ T236] [ 21.984342][ T236] but this new dependency connects a SOFTIRQ-irq-safe lock: [ 21.984578][ T236] (&ul->lock){+.-.}-{2:2} [ 21.984582][ T236] [ 21.984582][ T236] ... which became SOFTIRQ-irq-safe at: [ 21.984919][ T236] __lock_acquire+0x797/0x1570 [ 21.985059][ T236] lock_acquire.part.0+0xeb/0x330 [ 21.985198][ T236] _raw_spin_lock_bh+0x38/0x50 [ 21.985336][ T236] rt6_uncached_list_del+0x77/0x200 [ 21.985474][ T236] ip6_dst_destroy+0x74/0x1e0 [ 21.985608][ T236] dst_destroy+0xbc/0x370 [ 21.985748][ T236] rcu_do_batch+0x3c0/0xfb0 [ 21.985884][ T236] rcu_core+0x2be/0x500 [ 21.985992][ T236] __do_softirq+0x1f8/0x5df [ 21.986131][ T236] do_softirq+0x4d/0xa0 [ 21.986238][ T236] __local_bh_enable_ip+0xf6/0x120 [ 21.986374][ T236] netlink_insert+0xb0/0x450 [ 21.986519][ T236] netlink_autobind.isra.0+0x18a/0x270 [ 21.986665][ T236] netlink_sendmsg+0x7b8/0xbe0 [ 21.986805][ T236] __sys_sendto+0x37d/0x410 [ 21.986944][ T236] __x64_sys_sendto+0xe0/0x1c0 [ 21.987083][ T236] do_syscall_64+0xc6/0x1e0 [ 21.987227][ T236] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 21.987411][ T236] [ 21.987411][ T236] to a SOFTIRQ-irq-unsafe lock: [ 21.987584][ T236] (&p->alloc_lock){+.+.}-{2:2} [ 21.987588][ T236] [ 21.987588][ T236] ... which became SOFTIRQ-irq-unsafe at: [ 21.987932][ T236] ... [ 21.987933][ T236] __lock_acquire+0x797/0x1570 [ 21.988139][ T236] lock_acquire.part.0+0xeb/0x330 [ 21.988284][ T236] _raw_spin_lock+0x30/0x40 [ 21.988421][ T236] set_mems_allowed+0x1d/0x210 [ 21.988560][ T236] kernel_init_freeable+0x72/0x310 [ 21.988699][ T236] kernel_init+0x20/0x200 [ 21.988836][ T236] ret_from_fork+0x31/0x70 [ 21.988980][ T236] ret_from_fork_asm+0x1a/0x30 [ 21.989115][ T236] [ 21.989115][ T236] other info that might help us debug this: [ 21.989115][ T236] [ 21.989387][ T236] Possible interrupt unsafe locking scenario: [ 21.989387][ T236] [ 21.989601][ T236] CPU0 CPU1 [ 21.989743][ T236] ---- ---- [ 21.989881][ T236] lock(&p->alloc_lock); [ 21.989989][ T236] local_irq_disable(); [ 21.990162][ T236] lock(&ul->lock); [ 21.990340][ T236] lock(&p->alloc_lock); [ 21.990515][ T236] [ 21.990620][ T236] lock(&ul->lock); [ 21.990729][ T236] [ 21.990729][ T236] *** DEADLOCK *** [ 21.990729][ T236] [ 21.990943][ T236] 2 locks held by tap/236: [ 21.991088][ T236] #0: ffffffffba1b7208 (rtnl_mutex){+.+.}-{3:3}, at: rtnetlink_rcv_msg+0x2af/0xbf0 [ 21.991356][ T236] #1: ffff88803603f218 (&ul->lock){+.-.}-{2:2}, at: rt6_uncached_list_flush_dev+0x138/0x840 [ 21.991648][ T236] [ 21.991648][ T236] the dependencies between SOFTIRQ-irq-safe lock and the holding lock: [ 21.991922][ T236] -> (&ul->lock){+.-.}-{2:2} { [ 21.992068][ T236] HARDIRQ-ON-W at: [ 21.992174][ T236] __lock_acquire+0x797/0x1570 [ 21.992354][ T236] lock_acquire.part.0+0xeb/0x330 [ 21.992527][ T236] _raw_spin_lock_bh+0x38/0x50 [ 21.992707][ T236] rt6_uncached_list_add+0x55/0x1b0 [ 21.992883][ T236] icmp6_dst_alloc+0x2c0/0x450 [ 21.993061][ T236] mld_sendpack+0x529/0xbc0 [ 21.993238][ T236] mld_ifc_work+0x32/0x1f0 [ 21.993412][ T236] process_one_work+0xe2c/0x1730 [ 21.993589][ T236] worker_thread+0x587/0xd30 [ 21.993764][ T236] kthread+0x28a/0x350 [ 21.993904][ T236] ret_from_fork+0x31/0x70 [ 21.994078][ T236] ret_from_fork_asm+0x1a/0x30 [ 21.994252][ T236] IN-SOFTIRQ-W at: [ 21.994359][ T236] __lock_acquire+0x797/0x1570 [ 21.994530][ T236] lock_acquire.part.0+0xeb/0x330 [ 21.994703][ T236] _raw_spin_lock_bh+0x38/0x50 [ 21.994968][ T236] rt6_uncached_list_del+0x77/0x200 [ 21.995142][ T236] ip6_dst_destroy+0x74/0x1e0 [ 21.995315][ T236] dst_destroy+0xbc/0x370 [ 21.995487][ T236] rcu_do_batch+0x3c0/0xfb0 [ 21.995762][ T236] rcu_core+0x2be/0x500 [ 21.995937][ T236] __do_softirq+0x1f8/0x5df [ 21.996119][ T236] do_softirq+0x4d/0xa0 [ 21.996292][ T236] __local_bh_enable_ip+0xf6/0x120 [ 21.996462][ T236] netlink_insert+0xb0/0x450 [ 21.996721][ T236] netlink_autobind.isra.0+0x18a/0x270 [ 21.996901][ T236] netlink_sendmsg+0x7b8/0xbe0 [ 21.997164][ T236] __sys_sendto+0x37d/0x410 [ 21.997338][ T236] __x64_sys_sendto+0xe0/0x1c0 [ 21.997513][ T236] do_syscall_64+0xc6/0x1e0 [ 21.997685][ T236] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 21.997891][ T236] INITIAL USE at: [ 21.997996][ T236] __lock_acquire+0x797/0x1570 [ 21.998171][ T236] lock_acquire.part.0+0xeb/0x330 [ 21.998435][ T236] _raw_spin_lock_bh+0x38/0x50 [ 21.998609][ T236] rt6_uncached_list_add+0x55/0x1b0 [ 21.998782][ T236] icmp6_dst_alloc+0x2c0/0x450 [ 21.998958][ T236] mld_sendpack+0x529/0xbc0 [ 21.999131][ T236] mld_ifc_work+0x32/0x1f0 [ 21.999394][ T236] process_one_work+0xe2c/0x1730 [ 21.999576][ T236] worker_thread+0x587/0xd30 [ 21.999751][ T236] kthread+0x28a/0x350 [ 21.999888][ T236] ret_from_fork+0x31/0x70 [ 22.000150][ T236] ret_from_fork_asm+0x1a/0x30 [ 22.000333][ T236] } [ 22.000407][ T236] ... key at: [] __key.15+0x0/0x40 [ 22.000617][ T236] [ 22.000617][ T236] the dependencies between the lock to be acquired [ 22.000619][ T236] and SOFTIRQ-irq-unsafe lock: [ 22.001076][ T236] -> (&p->alloc_lock){+.+.}-{2:2} { [ 22.001223][ T236] HARDIRQ-ON-W at: [ 22.001336][ T236] __lock_acquire+0x797/0x1570 [ 22.001606][ T236] lock_acquire.part.0+0xeb/0x330 [ 22.001782][ T236] _raw_spin_lock+0x30/0x40 [ 22.001959][ T236] set_mems_allowed+0x1d/0x210 [ 22.002237][ T236] kernel_init_freeable+0x72/0x310 [ 22.002413][ T236] kernel_init+0x20/0x200 [ 22.002589][ T236] ret_from_fork+0x31/0x70 [ 22.002766][ T236] ret_from_fork_asm+0x1a/0x30 [ 22.002946][ T236] SOFTIRQ-ON-W at: [ 22.003138][ T236] __lock_acquire+0x797/0x1570 [ 22.003316][ T236] lock_acquire.part.0+0xeb/0x330 [ 22.003496][ T236] _raw_spin_lock+0x30/0x40 [ 22.003671][ T236] set_mems_allowed+0x1d/0x210 [ 22.003847][ T236] kernel_init_freeable+0x72/0x310 [ 22.004111][ T236] kernel_init+0x20/0x200 [ 22.004285][ T236] ret_from_fork+0x31/0x70 [ 22.004470][ T236] ret_from_fork_asm+0x1a/0x30 [ 22.004649][ T236] INITIAL USE at: [ 22.004755][ T236] __lock_acquire+0x797/0x1570 [ 22.004933][ T236] lock_acquire.part.0+0xeb/0x330 [ 22.005110][ T236] _raw_spin_lock+0x30/0x40 [ 22.005287][ T236] set_mems_allowed+0x1d/0x210 [ 22.005463][ T236] kernel_init_freeable+0x72/0x310 [ 22.005727][ T236] kernel_init+0x20/0x200 [ 22.005906][ T236] ret_from_fork+0x31/0x70 [ 22.006090][ T236] ret_from_fork_asm+0x1a/0x30 [ 22.006265][ T236] } [ 22.006338][ T236] ... key at: [] __key.388+0x0/0x40 [ 22.006643][ T236] ... acquired at: [ 22.006749][ T236] check_prev_add+0x194/0xce0 [ 22.006894][ T236] validate_chain+0x71d/0x9b0 [ 22.007034][ T236] __lock_acquire+0xaf0/0x1570 [ 22.007273][ T236] lock_acquire.part.0+0xeb/0x330 [ 22.007419][ T236] _raw_spin_lock+0x30/0x40 [ 22.007566][ T236] __get_task_comm+0x27/0x70 [ 22.007708][ T236] ref_tracker_alloc+0x2ee/0x490 [ 22.007942][ T236] rt6_uncached_list_flush_dev+0x494/0x840 [ 22.008116][ T236] rt6_disable_ip+0xd9/0x140 [ 22.008257][ T236] addrconf_ifdown.isra.0+0x103/0x1560 [ 22.008399][ T236] addrconf_notify+0xd1/0xd60 [ 22.008634][ T236] notifier_call_chain+0xcd/0x150 [ 22.008774][ T236] dev_close_many+0x2d8/0x650 [ 22.008924][ T236] unregister_netdevice_many_notify+0x3d5/0x1190 [ 22.009097][ T236] rtnl_dellink+0x330/0xa30 [ 22.009321][ T236] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 22.009459][ T236] netlink_rcv_skb+0x130/0x360 [ 22.009597][ T236] netlink_unicast+0x449/0x710 [ 22.009740][ T236] netlink_sendmsg+0x723/0xbe0 [ 22.009881][ T236] __sys_sendto+0x37d/0x410 [ 22.010022][ T236] __x64_sys_sendto+0xe0/0x1c0 [ 22.010161][ T236] do_syscall_64+0xc6/0x1e0 [ 22.010303][ T236] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 22.010558][ T236] [ 22.010628][ T236] [ 22.010628][ T236] stack backtrace: [ 22.010801][ T236] CPU: 1 PID: 236 Comm: tap Not tainted 6.9.0-rc1-virtme #1 [ 22.011090][ T236] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 22.011398][ T236] Call Trace: [ 22.011509][ T236] [ 22.011581][ T236] dump_stack_lvl+0x82/0xd0 [ 22.011727][ T236] print_bad_irq_dependency+0x957/0xd40 [ 22.011867][ T236] ? hlock_class+0x4e/0x130 [ 22.012090][ T236] ? __pfx_print_bad_irq_dependency+0x10/0x10 [ 22.012263][ T236] ? __pfx_usage_skip+0x10/0x10 [ 22.012400][ T236] ? __bfs+0x246/0x650 [ 22.012504][ T236] ? __pfx_usage_match+0x10/0x10 [ 22.012643][ T236] check_irq_usage+0x596/0x850 [ 22.012784][ T236] ? __pfx_check_irq_usage+0x10/0x10 [ 22.013003][ T236] ? __bfs+0x246/0x650 [ 22.013193][ T236] ? __pfx_hlock_conflict+0x10/0x10 [ 22.013335][ T236] ? check_path.constprop.0+0x24/0x50 [ 22.013477][ T236] ? check_noncircular+0x14c/0x3e0 [ 22.013618][ T236] ? __pfx_check_noncircular+0x10/0x10 [ 22.013761][ T236] ? check_prev_add+0x194/0xce0 [ 22.013987][ T236] check_prev_add+0x194/0xce0 [ 22.014126][ T236] ? validate_chain+0x130/0x9b0 [ 22.014282][ T236] validate_chain+0x71d/0x9b0 [ 22.014421][ T236] ? mark_lock+0x38/0x3e0 [ 22.014611][ T236] ? __pfx_validate_chain+0x10/0x10 [ 22.014753][ T236] ? hlock_class+0x4e/0x130 [ 22.014890][ T236] ? mark_lock+0x38/0x3e0 [ 22.014997][ T236] __lock_acquire+0xaf0/0x1570 [ 22.015138][ T236] lock_acquire.part.0+0xeb/0x330 [ 22.015360][ T236] ? __get_task_comm+0x27/0x70 [ 22.015499][ T236] ? mark_lock+0x38/0x3e0 [ 22.015604][ T236] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 22.015745][ T236] ? trace_lock_acquire+0x135/0x1c0 [ 22.015965][ T236] ? __get_task_comm+0x27/0x70 [ 22.016193][ T236] ? lock_acquire+0x32/0xc0 [ 22.016332][ T236] ? __get_task_comm+0x27/0x70 [ 22.016470][ T236] _raw_spin_lock+0x30/0x40 [ 22.016608][ T236] ? __get_task_comm+0x27/0x70 [ 22.016745][ T236] __get_task_comm+0x27/0x70 [ 22.016883][ T236] ref_tracker_alloc+0x2ee/0x490 [ 22.017022][ T236] ? __pfx_ref_tracker_alloc+0x10/0x10 [ 22.017169][ T236] ? __lock_release+0x103/0x460 [ 22.017308][ T236] ? rt6_uncached_list_flush_dev+0x494/0x840 [ 22.017578][ T236] ? rt6_disable_ip+0xd9/0x140 [ 22.017716][ T236] ? addrconf_ifdown.isra.0+0x103/0x1560 [ 22.017857][ T236] ? addrconf_notify+0xd1/0xd60 [ 22.017995][ T236] ? notifier_call_chain+0xcd/0x150 [ 22.018131][ T236] ? dev_close_many+0x2d8/0x650 [ 22.018355][ T236] ? unregister_netdevice_many_notify+0x3d5/0x1190 [ 22.018525][ T236] ? rtnl_dellink+0x330/0xa30 [ 22.018661][ T236] ? rtnetlink_rcv_msg+0x2fb/0xbf0 [ 22.018798][ T236] ? netlink_rcv_skb+0x130/0x360 [ 22.019030][ T236] ? netlink_unicast+0x449/0x710 [ 22.019169][ T236] ? netlink_sendmsg+0x723/0xbe0 [ 22.019307][ T236] ? __sys_sendto+0x37d/0x410 [ 22.019444][ T236] ? __x64_sys_sendto+0xe0/0x1c0 [ 22.019589][ T236] ? do_syscall_64+0xc6/0x1e0 [ 22.019814][ T236] ? entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 22.019988][ T236] ? in6_dev_get+0xcc/0x210 [ 22.020129][ T236] rt6_uncached_list_flush_dev+0x494/0x840 [ 22.020304][ T236] rt6_disable_ip+0xd9/0x140 [ 22.020525][ T236] ? __pfx_rt6_disable_ip+0x10/0x10 [ 22.020748][ T236] ? hlock_class+0x4e/0x130 [ 22.020887][ T236] addrconf_ifdown.isra.0+0x103/0x1560 [ 22.021028][ T236] ? __pfx_snprintf+0x10/0x10 [ 22.021169][ T236] ? __try_to_del_timer_sync+0xe7/0x140 [ 22.021309][ T236] ? __pfx_addrconf_ifdown.isra.0+0x10/0x10 [ 22.021485][ T236] addrconf_notify+0xd1/0xd60 [ 22.021714][ T236] notifier_call_chain+0xcd/0x150 [ 22.021853][ T236] dev_close_many+0x2d8/0x650 [ 22.021996][ T236] ? notifier_call_chain+0xcd/0x150 [ 22.022136][ T236] ? __pfx_dev_close_many+0x10/0x10 [ 22.022276][ T236] ? __netdev_upper_dev_unlink+0x17c/0x220 [ 22.022535][ T236] unregister_netdevice_many_notify+0x3d5/0x1190 [ 22.022718][ T236] ? unregister_netdevice_queue+0x70/0x410 [ 22.022892][ T236] ? __pfx_unregister_netdevice_queue+0x10/0x10 [ 22.023063][ T236] ? __pfx_unregister_netdevice_many_notify+0x10/0x10 [ 22.023319][ T236] ? netdev_upper_dev_unlink+0x71/0xa0 [ 22.023458][ T236] ? __pfx_netdev_upper_dev_unlink+0x10/0x10 [ 22.023631][ T236] rtnl_dellink+0x330/0xa30 [ 22.023852][ T236] ? hlock_class+0x4e/0x130 [ 22.024079][ T236] ? __pfx_rtnl_dellink+0x10/0x10 [ 22.024227][ T236] ? trace_contention_end+0xdc/0x140 [ 22.024360][ T236] ? __mutex_lock+0x170/0xac0 [ 22.024501][ T236] ? find_held_lock+0x2c/0x110 [ 22.024640][ T236] ? __pfx___mutex_lock+0x10/0x10 [ 22.024774][ T236] ? __pfx___lock_release+0x10/0x10 [ 22.024916][ T236] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 22.025058][ T236] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 22.025197][ T236] ? __pfx_rtnetlink_rcv_msg+0x10/0x10 [ 22.025336][ T236] ? hlock_class+0x4e/0x130 [ 22.025481][ T236] ? mark_lock+0x38/0x3e0 [ 22.025675][ T236] ? __lock_acquire+0xaf0/0x1570 [ 22.025814][ T236] netlink_rcv_skb+0x130/0x360 [ 22.025957][ T236] ? __pfx_rtnetlink_rcv_msg+0x10/0x10 [ 22.026096][ T236] ? __pfx_netlink_rcv_skb+0x10/0x10 [ 22.026227][ T236] ? lock_acquire.part.0+0xeb/0x330 [ 22.026370][ T236] ? netlink_deliver_tap+0xc8/0x340 [ 22.026513][ T236] ? lock_acquire+0x32/0xc0 [ 22.026820][ T236] ? netlink_deliver_tap+0xc8/0x340 [ 22.026957][ T236] ? netlink_deliver_tap+0xc8/0x340 [ 22.027096][ T236] ? netlink_deliver_tap+0x149/0x340 [ 22.027236][ T236] netlink_unicast+0x449/0x710 [ 22.027380][ T236] ? __pfx_netlink_unicast+0x10/0x10 [ 22.027611][ T236] ? netlink_autobind.isra.0+0xa5/0x270 [ 22.027746][ T236] ? netlink_autobind.isra.0+0x18a/0x270 [ 22.027891][ T236] netlink_sendmsg+0x723/0xbe0 [ 22.028030][ T236] ? __pfx_netlink_sendmsg+0x10/0x10 [ 22.028168][ T236] ? __fget_light+0x53/0x1e0 [ 22.028307][ T236] __sys_sendto+0x37d/0x410 [ 22.028534][ T236] ? __pfx___sys_sendto+0x10/0x10 [ 22.028674][ T236] ? __lock_release+0x103/0x460 [ 22.028816][ T236] ? __pfx___lock_release+0x10/0x10 [ 22.028955][ T236] ? fd_install+0x1d1/0x5a0 [ 22.029100][ T236] ? fd_install+0x1d6/0x5a0 [ 22.029329][ T236] ? __sys_socket+0x168/0x1e0 [ 22.029467][ T236] ? lockdep_hardirqs_on_prepare.part.0+0x1af/0x370 [ 22.029640][ T236] ? __pfx___sys_socket+0x10/0x10 [ 22.029778][ T236] __x64_sys_sendto+0xe0/0x1c0 [ 22.029921][ T236] ? lockdep_hardirqs_on_prepare.part.0+0x1af/0x370 [ 22.030178][ T236] do_syscall_64+0xc6/0x1e0 [ 22.030313][ T236] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 22.030483][ T236] RIP: 0033:0x7f215a3d0700 [ 22.030716][ T236] Code: ff ff 64 89 02 eb bd 0f 1f 00 f3 0f 1e fa 41 89 ca 64 8b 04 25 18 00 00 00 85 c0 75 1d 45 31 c9 45 31 c0 b8 2c 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 68 c3 0f 1f 80 00 00 00 00 41 54 48 83 ec 20 [ 22.031211][ T236] RSP: 002b:00007ffd903cab98 EFLAGS: 00000246 ORIG_RAX: 000000000000002c [ 22.031504][ T236] RAX: ffffffffffffffda RBX: 0000000000000030 RCX: 00007f215a3d0700 [ 22.031709][ T236] RDX: 0000000000000030 RSI: 00007ffd903caba0 RDI: 0000000000000005 [ 22.031911][ T236] RBP: 0000000000404780 R08: 0000000000000000 R09: 0000000000000000 [ 22.032201][ T236] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000005 [ 22.032410][ T236] R13: 00007ffd903caba0 R14: 00000000004062a0 R15: 00000000004064e0 [ 22.032618][ T236] [ 22.070653][ T236] tap (236) used greatest stack depth: 23224 bytes left [ 22.081878][ T242] xdummy0: entered promiscuous mode [ 22.094734][ T242] xdummy0: left promiscuous mode