[ 49.440579][ T549] xdummy0: entered promiscuous mode [ 49.463925][ T549] xdummy0: left promiscuous mode [ 49.501489][ T549] tap (549) used greatest stack depth: 23792 bytes left [ 49.525626][ T551] xdummy0: entered promiscuous mode [ 49.541278][ T551] xdummy0: left promiscuous mode [ 49.602001][ T555] xdummy0: entered promiscuous mode [ 49.613801][ T555] xdummy0: left promiscuous mode [ 49.614405][ T555] [ 49.614484][ T555] ===================================================== [ 49.614655][ T555] WARNING: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected [ 49.614863][ T555] 6.9.0-rc1-virtme #1 Not tainted [ 49.615001][ T555] ----------------------------------------------------- [ 49.615179][ T555] tap/555 [HC0[0]:SC0[2]:HE1:SE0] is trying to acquire: [ 49.615355][ T555] ffff888007288968 (&p->alloc_lock){+.+.}-{2:2}, at: __get_task_comm+0x27/0x70 [ 49.615609][ T555] [ 49.615609][ T555] and this task is already holding: [ 49.615814][ T555] ffff8880361bf218 (&ul->lock){+.-.}-{2:2}, at: rt6_uncached_list_flush_dev+0x138/0x840 [ 49.616069][ T555] which would create a new lock dependency: [ 49.616237][ T555] (&ul->lock){+.-.}-{2:2} -> (&p->alloc_lock){+.+.}-{2:2} [ 49.616449][ T555] [ 49.616449][ T555] but this new dependency connects a SOFTIRQ-irq-safe lock: [ 49.616685][ T555] (&ul->lock){+.-.}-{2:2} [ 49.616689][ T555] [ 49.616689][ T555] ... which became SOFTIRQ-irq-safe at: [ 49.617032][ T555] __lock_acquire+0x797/0x1570 [ 49.617175][ T555] lock_acquire.part.0+0xeb/0x330 [ 49.617316][ T555] _raw_spin_lock_bh+0x38/0x50 [ 49.617457][ T555] rt6_uncached_list_del+0x77/0x200 [ 49.617600][ T555] ip6_dst_destroy+0x74/0x1e0 [ 49.617740][ T555] dst_destroy+0xbc/0x370 [ 49.617897][ T555] rcu_do_batch+0x3c0/0xfb0 [ 49.618039][ T555] rcu_core+0x2be/0x500 [ 49.618143][ T555] __do_softirq+0x1f8/0x5df [ 49.618283][ T555] run_ksoftirqd+0x2e/0x60 [ 49.618422][ T555] smpboot_thread_fn+0x306/0x840 [ 49.618562][ T555] kthread+0x28a/0x350 [ 49.618668][ T555] ret_from_fork+0x31/0x70 [ 49.618806][ T555] ret_from_fork_asm+0x1a/0x30 [ 49.618945][ T555] [ 49.618945][ T555] to a SOFTIRQ-irq-unsafe lock: [ 49.619118][ T555] (&p->alloc_lock){+.+.}-{2:2} [ 49.619122][ T555] [ 49.619122][ T555] ... which became SOFTIRQ-irq-unsafe at: [ 49.619457][ T555] ... [ 49.619459][ T555] __lock_acquire+0x797/0x1570 [ 49.619670][ T555] lock_acquire.part.0+0xeb/0x330 [ 49.619809][ T555] _raw_spin_lock+0x30/0x40 [ 49.619952][ T555] set_mems_allowed+0x1d/0x210 [ 49.620090][ T555] kernel_init_freeable+0x72/0x310 [ 49.620228][ T555] kernel_init+0x20/0x200 [ 49.620366][ T555] ret_from_fork+0x31/0x70 [ 49.620506][ T555] ret_from_fork_asm+0x1a/0x30 [ 49.620644][ T555] [ 49.620644][ T555] other info that might help us debug this: [ 49.620644][ T555] [ 49.620920][ T555] Possible interrupt unsafe locking scenario: [ 49.620920][ T555] [ 49.621122][ T555] CPU0 CPU1 [ 49.621264][ T555] ---- ---- [ 49.621407][ T555] lock(&p->alloc_lock); [ 49.621584][ T555] local_irq_disable(); [ 49.621759][ T555] lock(&ul->lock); [ 49.621936][ T555] lock(&p->alloc_lock); [ 49.622106][ T555] [ 49.622212][ T555] lock(&ul->lock); [ 49.622318][ T555] [ 49.622318][ T555] *** DEADLOCK *** [ 49.622318][ T555] [ 49.622522][ T555] 2 locks held by tap/555: [ 49.622663][ T555] #0: ffffffffbb9b7208 (rtnl_mutex){+.+.}-{3:3}, at: rtnetlink_rcv_msg+0x2af/0xbf0 [ 49.622928][ T555] #1: ffff8880361bf218 (&ul->lock){+.-.}-{2:2}, at: rt6_uncached_list_flush_dev+0x138/0x840 [ 49.623212][ T555] [ 49.623212][ T555] the dependencies between SOFTIRQ-irq-safe lock and the holding lock: [ 49.623498][ T555] -> (&ul->lock){+.-.}-{2:2} { [ 49.623644][ T555] HARDIRQ-ON-W at: [ 49.623753][ T555] __lock_acquire+0x797/0x1570 [ 49.623943][ T555] lock_acquire.part.0+0xeb/0x330 [ 49.624118][ T555] _raw_spin_lock_bh+0x38/0x50 [ 49.624303][ T555] rt6_uncached_list_add+0x55/0x1b0 [ 49.624487][ T555] icmp6_dst_alloc+0x2c0/0x450 [ 49.624666][ T555] mld_sendpack+0x529/0xbc0 [ 49.624843][ T555] mld_ifc_work+0x32/0x1f0 [ 49.625020][ T555] process_one_work+0xe2c/0x1730 [ 49.625194][ T555] worker_thread+0x587/0xd30 [ 49.625374][ T555] kthread+0x28a/0x350 [ 49.625517][ T555] ret_from_fork+0x31/0x70 [ 49.625693][ T555] ret_from_fork_asm+0x1a/0x30 [ 49.625867][ T555] IN-SOFTIRQ-W at: [ 49.625972][ T555] __lock_acquire+0x797/0x1570 [ 49.626145][ T555] lock_acquire.part.0+0xeb/0x330 [ 49.626407][ T555] _raw_spin_lock_bh+0x38/0x50 [ 49.626580][ T555] rt6_uncached_list_del+0x77/0x200 [ 49.626755][ T555] ip6_dst_destroy+0x74/0x1e0 [ 49.627012][ T555] dst_destroy+0xbc/0x370 [ 49.627370][ T555] rcu_do_batch+0x3c0/0xfb0 [ 49.627547][ T555] rcu_core+0x2be/0x500 [ 49.627720][ T555] __do_softirq+0x1f8/0x5df [ 49.627898][ T555] run_ksoftirqd+0x2e/0x60 [ 49.628075][ T555] smpboot_thread_fn+0x306/0x840 [ 49.628248][ T555] kthread+0x28a/0x350 [ 49.628390][ T555] ret_from_fork+0x31/0x70 [ 49.628565][ T555] ret_from_fork_asm+0x1a/0x30 [ 49.628741][ T555] INITIAL USE at: [ 49.628846][ T555] __lock_acquire+0x797/0x1570 [ 49.629115][ T555] lock_acquire.part.0+0xeb/0x330 [ 49.629290][ T555] _raw_spin_lock_bh+0x38/0x50 [ 49.629503][ T555] rt6_uncached_list_add+0x55/0x1b0 [ 49.629768][ T555] icmp6_dst_alloc+0x2c0/0x450 [ 49.629944][ T555] mld_sendpack+0x529/0xbc0 [ 49.630121][ T555] mld_ifc_work+0x32/0x1f0 [ 49.630290][ T555] process_one_work+0xe2c/0x1730 [ 49.630552][ T555] worker_thread+0x587/0xd30 [ 49.630731][ T555] kthread+0x28a/0x350 [ 49.630871][ T555] ret_from_fork+0x31/0x70 [ 49.631150][ T555] ret_from_fork_asm+0x1a/0x30 [ 49.631328][ T555] } [ 49.631399][ T555] ... key at: [] __key.15+0x0/0x40 [ 49.631609][ T555] [ 49.631609][ T555] the dependencies between the lock to be acquired [ 49.631610][ T555] and SOFTIRQ-irq-unsafe lock: [ 49.632064][ T555] -> (&p->alloc_lock){+.+.}-{2:2} { [ 49.632207][ T555] HARDIRQ-ON-W at: [ 49.632314][ T555] __lock_acquire+0x797/0x1570 [ 49.632585][ T555] lock_acquire.part.0+0xeb/0x330 [ 49.632759][ T555] _raw_spin_lock+0x30/0x40 [ 49.632932][ T555] set_mems_allowed+0x1d/0x210 [ 49.633194][ T555] kernel_init_freeable+0x72/0x310 [ 49.633372][ T555] kernel_init+0x20/0x200 [ 49.633552][ T555] ret_from_fork+0x31/0x70 [ 49.633730][ T555] ret_from_fork_asm+0x1a/0x30 [ 49.633910][ T555] SOFTIRQ-ON-W at: [ 49.634017][ T555] __lock_acquire+0x797/0x1570 [ 49.634191][ T555] lock_acquire.part.0+0xeb/0x330 [ 49.634365][ T555] _raw_spin_lock+0x30/0x40 [ 49.634628][ T555] set_mems_allowed+0x1d/0x210 [ 49.634883][ T555] kernel_init_freeable+0x72/0x310 [ 49.635056][ T555] kernel_init+0x20/0x200 [ 49.635322][ T555] ret_from_fork+0x31/0x70 [ 49.635495][ T555] ret_from_fork_asm+0x1a/0x30 [ 49.635671][ T555] INITIAL USE at: [ 49.635776][ T555] __lock_acquire+0x797/0x1570 [ 49.635951][ T555] lock_acquire.part.0+0xeb/0x330 [ 49.636133][ T555] _raw_spin_lock+0x30/0x40 [ 49.636306][ T555] set_mems_allowed+0x1d/0x210 [ 49.636488][ T555] kernel_init_freeable+0x72/0x310 [ 49.636670][ T555] kernel_init+0x20/0x200 [ 49.636930][ T555] ret_from_fork+0x31/0x70 [ 49.637110][ T555] ret_from_fork_asm+0x1a/0x30 [ 49.637284][ T555] } [ 49.637356][ T555] ... key at: [] __key.388+0x0/0x40 [ 49.637564][ T555] ... acquired at: [ 49.637762][ T555] check_prev_add+0x194/0xce0 [ 49.637938][ T555] validate_chain+0x71d/0x9b0 [ 49.638165][ T555] __lock_acquire+0xaf0/0x1570 [ 49.638305][ T555] lock_acquire.part.0+0xeb/0x330 [ 49.638446][ T555] _raw_spin_lock+0x30/0x40 [ 49.638676][ T555] __get_task_comm+0x27/0x70 [ 49.638821][ T555] ref_tracker_alloc+0x2ee/0x490 [ 49.638963][ T555] rt6_uncached_list_flush_dev+0x494/0x840 [ 49.639229][ T555] rt6_disable_ip+0xd9/0x140 [ 49.639372][ T555] addrconf_ifdown.isra.0+0x103/0x1560 [ 49.639513][ T555] addrconf_notify+0xd1/0xd60 [ 49.639654][ T555] notifier_call_chain+0xcd/0x150 [ 49.639792][ T555] dev_close_many+0x2d8/0x650 [ 49.640015][ T555] unregister_netdevice_many_notify+0x3d5/0x1190 [ 49.640270][ T555] rtnl_dellink+0x330/0xa30 [ 49.640411][ T555] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 49.640553][ T555] netlink_rcv_skb+0x130/0x360 [ 49.640695][ T555] netlink_unicast+0x449/0x710 [ 49.640931][ T555] netlink_sendmsg+0x723/0xbe0 [ 49.641073][ T555] __sys_sendto+0x37d/0x410 [ 49.641213][ T555] __x64_sys_sendto+0xe0/0x1c0 [ 49.641352][ T555] do_syscall_64+0xc6/0x1e0 [ 49.641591][ T555] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 49.641767][ T555] [ 49.641840][ T555] [ 49.641840][ T555] stack backtrace: [ 49.642013][ T555] CPU: 1 PID: 555 Comm: tap Not tainted 6.9.0-rc1-virtme #1 [ 49.642226][ T555] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 49.642626][ T555] Call Trace: [ 49.642739][ T555] [ 49.642898][ T555] dump_stack_lvl+0x82/0xd0 [ 49.643044][ T555] print_bad_irq_dependency+0x957/0xd40 [ 49.643183][ T555] ? hlock_class+0x4e/0x130 [ 49.643326][ T555] ? __pfx_print_bad_irq_dependency+0x10/0x10 [ 49.643586][ T555] ? __pfx_usage_skip+0x10/0x10 [ 49.643725][ T555] ? __bfs+0x246/0x650 [ 49.643831][ T555] ? __pfx_usage_match+0x10/0x10 [ 49.643970][ T555] check_irq_usage+0x596/0x850 [ 49.644117][ T555] ? __pfx_check_irq_usage+0x10/0x10 [ 49.644259][ T555] ? __bfs+0x246/0x650 [ 49.644458][ T555] ? __pfx_hlock_conflict+0x10/0x10 [ 49.644598][ T555] ? check_path.constprop.0+0x24/0x50 [ 49.644741][ T555] ? check_noncircular+0x14c/0x3e0 [ 49.644884][ T555] ? __pfx_check_noncircular+0x10/0x10 [ 49.645026][ T555] ? check_prev_add+0x194/0xce0 [ 49.645247][ T555] check_prev_add+0x194/0xce0 [ 49.645390][ T555] ? validate_chain+0x130/0x9b0 [ 49.645626][ T555] validate_chain+0x71d/0x9b0 [ 49.645768][ T555] ? mark_lock+0x38/0x3e0 [ 49.645883][ T555] ? __pfx_validate_chain+0x10/0x10 [ 49.646024][ T555] ? hlock_class+0x4e/0x130 [ 49.646168][ T555] ? mark_lock+0x38/0x3e0 [ 49.646362][ T555] __lock_acquire+0xaf0/0x1570 [ 49.646504][ T555] lock_acquire.part.0+0xeb/0x330 [ 49.646644][ T555] ? __get_task_comm+0x27/0x70 [ 49.646786][ T555] ? mark_lock+0x38/0x3e0 [ 49.646980][ T555] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 49.647118][ T555] ? trace_lock_acquire+0x135/0x1c0 [ 49.647264][ T555] ? __get_task_comm+0x27/0x70 [ 49.647405][ T555] ? lock_acquire+0x32/0xc0 [ 49.647631][ T555] ? __get_task_comm+0x27/0x70 [ 49.647771][ T555] _raw_spin_lock+0x30/0x40 [ 49.648007][ T555] ? __get_task_comm+0x27/0x70 [ 49.648144][ T555] __get_task_comm+0x27/0x70 [ 49.648282][ T555] ref_tracker_alloc+0x2ee/0x490 [ 49.648504][ T555] ? __pfx_ref_tracker_alloc+0x10/0x10 [ 49.648644][ T555] ? __lock_release+0x103/0x460 [ 49.648781][ T555] ? rt6_uncached_list_flush_dev+0x494/0x840 [ 49.648953][ T555] ? rt6_disable_ip+0xd9/0x140 [ 49.649175][ T555] ? addrconf_ifdown.isra.0+0x103/0x1560 [ 49.649314][ T555] ? addrconf_notify+0xd1/0xd60 [ 49.649450][ T555] ? notifier_call_chain+0xcd/0x150 [ 49.649590][ T555] ? dev_close_many+0x2d8/0x650 [ 49.649808][ T555] ? unregister_netdevice_many_notify+0x3d5/0x1190 [ 49.649979][ T555] ? rtnl_dellink+0x330/0xa30 [ 49.650114][ T555] ? rtnetlink_rcv_msg+0x2fb/0xbf0 [ 49.650250][ T555] ? netlink_rcv_skb+0x130/0x360 [ 49.650467][ T555] ? netlink_unicast+0x449/0x710 [ 49.650604][ T555] ? netlink_sendmsg+0x723/0xbe0 [ 49.650741][ T555] ? __sys_sendto+0x37d/0x410 [ 49.650876][ T555] ? __x64_sys_sendto+0xe0/0x1c0 [ 49.651013][ T555] ? do_syscall_64+0xc6/0x1e0 [ 49.651234][ T555] ? entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 49.651408][ T555] ? in6_dev_get+0xcc/0x210 [ 49.651549][ T555] rt6_uncached_list_flush_dev+0x494/0x840 [ 49.651884][ T555] rt6_disable_ip+0xd9/0x140 [ 49.652023][ T555] ? __pfx_rt6_disable_ip+0x10/0x10 [ 49.652161][ T555] ? hlock_class+0x4e/0x130 [ 49.652301][ T555] addrconf_ifdown.isra.0+0x103/0x1560 [ 49.652439][ T555] ? __pfx_snprintf+0x10/0x10 [ 49.652666][ T555] ? __try_to_del_timer_sync+0xe7/0x140 [ 49.652817][ T555] ? __pfx_addrconf_ifdown.isra.0+0x10/0x10 [ 49.652996][ T555] addrconf_notify+0xd1/0xd60 [ 49.653139][ T555] notifier_call_chain+0xcd/0x150 [ 49.653368][ T555] dev_close_many+0x2d8/0x650 [ 49.653509][ T555] ? notifier_call_chain+0xcd/0x150 [ 49.653647][ T555] ? __pfx_dev_close_many+0x10/0x10 [ 49.653787][ T555] ? __netdev_upper_dev_unlink+0x17c/0x220 [ 49.654055][ T555] unregister_netdevice_many_notify+0x3d5/0x1190 [ 49.654230][ T555] ? unregister_netdevice_queue+0x70/0x410 [ 49.654401][ T555] ? __pfx_unregister_netdevice_queue+0x10/0x10 [ 49.654664][ T555] ? __pfx_unregister_netdevice_many_notify+0x10/0x10 [ 49.654838][ T555] ? netdev_upper_dev_unlink+0x71/0xa0 [ 49.654984][ T555] ? __pfx_netdev_upper_dev_unlink+0x10/0x10 [ 49.655161][ T555] rtnl_dellink+0x330/0xa30 [ 49.655392][ T555] ? hlock_class+0x4e/0x130 [ 49.655541][ T555] ? __pfx_rtnl_dellink+0x10/0x10 [ 49.655691][ T555] ? trace_contention_end+0xdc/0x140 [ 49.655836][ T555] ? __mutex_lock+0x170/0xac0 [ 49.656071][ T555] ? find_held_lock+0x2c/0x110 [ 49.656215][ T555] ? __pfx___mutex_lock+0x10/0x10 [ 49.656357][ T555] ? __pfx___lock_release+0x10/0x10 [ 49.656497][ T555] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 49.656645][ T555] rtnetlink_rcv_msg+0x2fb/0xbf0 [ 49.656786][ T555] ? __pfx_rtnetlink_rcv_msg+0x10/0x10 [ 49.657012][ T555] ? hlock_class+0x4e/0x130 [ 49.657153][ T555] ? mark_lock+0x38/0x3e0 [ 49.657258][ T555] ? __lock_acquire+0xaf0/0x1570 [ 49.657491][ T555] netlink_rcv_skb+0x130/0x360 [ 49.657634][ T555] ? __pfx_rtnetlink_rcv_msg+0x10/0x10 [ 49.657896][ T555] ? __pfx_netlink_rcv_skb+0x10/0x10 [ 49.658031][ T555] ? lock_acquire.part.0+0xeb/0x330 [ 49.658175][ T555] ? netlink_deliver_tap+0xc8/0x340 [ 49.658400][ T555] ? lock_acquire+0x32/0xc0 [ 49.658630][ T555] ? netlink_deliver_tap+0xc8/0x340 [ 49.658771][ T555] ? netlink_deliver_tap+0xc8/0x340 [ 49.659000][ T555] ? netlink_deliver_tap+0x149/0x340 [ 49.659139][ T555] netlink_unicast+0x449/0x710 [ 49.659278][ T555] ? __pfx_netlink_unicast+0x10/0x10 [ 49.659418][ T555] ? netlink_autobind.isra.0+0xa5/0x270 [ 49.659554][ T555] ? netlink_autobind.isra.0+0x18a/0x270 [ 49.659694][ T555] netlink_sendmsg+0x723/0xbe0 [ 49.659833][ T555] ? __pfx_netlink_sendmsg+0x10/0x10 [ 49.659975][ T555] ? __fget_light+0x53/0x1e0 [ 49.660116][ T555] __sys_sendto+0x37d/0x410 [ 49.660346][ T555] ? __pfx___sys_sendto+0x10/0x10 [ 49.660486][ T555] ? __lock_release+0x103/0x460 [ 49.660623][ T555] ? __pfx___lock_release+0x10/0x10 [ 49.660762][ T555] ? fd_install+0x1d1/0x5a0 [ 49.660898][ T555] ? fd_install+0x1d6/0x5a0 [ 49.661035][ T555] ? __sys_socket+0x168/0x1e0 [ 49.661171][ T555] ? lockdep_hardirqs_on_prepare.part.0+0x1af/0x370 [ 49.661340][ T555] ? __pfx___sys_socket+0x10/0x10 [ 49.661478][ T555] __x64_sys_sendto+0xe0/0x1c0 [ 49.661615][ T555] ? lockdep_hardirqs_on_prepare.part.0+0x1af/0x370 [ 49.661784][ T555] do_syscall_64+0xc6/0x1e0 [ 49.661921][ T555] entry_SYSCALL_64_after_hwframe+0x6d/0x75 [ 49.662175][ T555] RIP: 0033:0x7f809beb8700 [ 49.662319][ T555] 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 [ 49.662900][ T555] RSP: 002b:00007fffaf5e6968 EFLAGS: 00000246 ORIG_RAX: 000000000000002c [ 49.663112][ T555] RAX: ffffffffffffffda RBX: 0000000000000030 RCX: 00007f809beb8700 [ 49.663319][ T555] RDX: 0000000000000030 RSI: 00007fffaf5e6970 RDI: 0000000000000005 [ 49.663607][ T555] RBP: 0000000000404780 R08: 0000000000000000 R09: 0000000000000000 [ 49.663819][ T555] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000005 [ 49.664027][ T555] R13: 00007fffaf5e6970 R14: 0000000000406180 R15: 00000000004064e0 [ 49.664333][ T555] [ 49.695810][ T555] tap (555) used greatest stack depth: 23104 bytes left