make -C tools/testing/selftests TARGETS=net/forwarding TEST_PROGS=tc_actioons.sh TEST_GEN_PROGS="" run_tests make: Entering directory '/home/virtme/testing-4/tools/testing/selftests' make[1]: Entering directory '/home/virtme/testing-4/tools/testing/selftests/net/forwarding' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/home/virtme/testing-4/tools/testing/selftests/net/forwarding' make[1]: Entering directory '/home/virtme/testing-4/tools/testing/selftests/net/forwarding' TAP version 13 1..1 # timeout set to 10800 # selftests: net/forwarding: tc_actions.sh [ 36.279191][ T327] GACT probability NOT on # TEST: gact drop and ok (skip_hw) [ OK ] [ 41.317629][ T380] Mirror/redirect action on [ 41.334942][ T379] tc (379) used greatest stack depth: 23256 bytes left # TEST: mirred egress flower redirect (skip_hw) [ OK ] # TEST: mirred egress flower mirror (skip_hw) [ OK ] # TEST: mirred egress matchall mirror (skip_hw) [ OK ] # TEST: mirred_egress_to_ingress (skip_hw) [ OK ] # [ 57.154128][ C2] [ 57.154291][ C2] ============================================ [ 57.154603][ C2] WARNING: possible recursive locking detected [ 57.154982][ C2] 6.8.0-rc2-virtme #1 Not tainted [ 57.155264][ C2] -------------------------------------------- [ 57.155577][ C2] ncat/532 is trying to acquire lock: [ 57.155863][ C2] ffff8880082b8e30 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x221e/0x2ac0 [ 57.156329][ C2] [ 57.156329][ C2] but task is already holding lock: [ 57.156717][ C2] ffff8880082b9b70 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x221e/0x2ac0 [ 57.157208][ C2] [ 57.157208][ C2] other info that might help us debug this: [ 57.157630][ C2] Possible unsafe locking scenario: [ 57.157630][ C2] [ 57.158043][ C2] CPU0 [ 57.158240][ C2] ---- [ 57.158428][ C2] lock(slock-AF_INET/1); [ 57.158677][ C2] lock(slock-AF_INET/1); [ 57.158995][ C2] [ 57.158995][ C2] *** DEADLOCK *** [ 57.158995][ C2] [ 57.159421][ C2] May be due to missing lock nesting notation [ 57.159421][ C2] [ 57.159869][ C2] 8 locks held by ncat/532: [ 57.160122][ C2] #0: ffffffff949447e0 (rcu_read_lock){....}-{1:2}, at: process_backlog+0x1ed/0x5e0 [ 57.160616][ C2] #1: ffffffff949447e0 (rcu_read_lock){....}-{1:2}, at: ip_local_deliver_finish+0x1f5/0x480 [ 57.161143][ C2] #2: ffff8880082b9b70 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x221e/0x2ac0 [ 57.161643][ C2] #3: ffffffff949447e0 (rcu_read_lock){....}-{1:2}, at: __ip_queue_xmit+0x65/0x1910 [ 57.162174][ C2] #4: ffffffff949447e0 (rcu_read_lock){....}-{1:2}, at: ip_finish_output2+0x262/0x18e0 [ 57.162688][ C2] #5: ffffffff94944780 (rcu_read_lock_bh){....}-{1:2}, at: __dev_queue_xmit+0x1da/0x17e0 [ 57.163231][ C2] #6: ffffffff949447e0 (rcu_read_lock){....}-{1:2}, at: netif_receive_skb_internal+0x84/0x300 [ 57.163803][ C2] #7: ffffffff949447e0 (rcu_read_lock){....}-{1:2}, at: ip_local_deliver_finish+0x1f5/0x480 [ 57.164346][ C2] [ 57.164346][ C2] stack backtrace: [ 57.164648][ C2] CPU: 2 PID: 532 Comm: ncat Not tainted 6.8.0-rc2-virtme #1 [ 57.165047][ C2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 57.165708][ C2] Call Trace: [ 57.165886][ C2] [ 57.166039][ C2] dump_stack_lvl+0x64/0xb0 [ 57.166283][ C2] validate_chain+0x525/0xa00 [ 57.166529][ C2] ? __pfx_validate_chain+0x10/0x10 [ 57.166834][ C2] ? hlock_class+0x4e/0x130 [ 57.167077][ C2] ? mark_lock+0x38/0x3e0 [ 57.167300][ C2] __lock_acquire+0xb67/0x1610 [ 57.167567][ C2] ? lock_downgrade+0xa0/0x110 [ 57.167840][ C2] ? mark_lock+0x38/0x3e0 [ 57.168091][ C2] lock_acquire.part.0+0xe5/0x330 [ 57.168360][ C2] ? tcp_v4_rcv+0x221e/0x2ac0 [ 57.168621][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 57.168932][ C2] ? __pfx_sk_filter_trim_cap+0x10/0x10 [ 57.169231][ C2] ? lock_acquire+0x1c1/0x220 [ 57.169489][ C2] ? tcp_v4_rcv+0x221e/0x2ac0 [ 57.169745][ C2] _raw_spin_lock_nested+0x33/0x80 [ 57.170034][ C2] ? tcp_v4_rcv+0x221e/0x2ac0 [ 57.170301][ C2] tcp_v4_rcv+0x221e/0x2ac0 [ 57.170546][ C2] ? __pfx_tcp_v4_rcv+0x10/0x10 [ 57.170819][ C2] ? __pfx_raw_v4_input+0x10/0x10 [ 57.171085][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 57.171380][ C2] ip_protocol_deliver_rcu+0x93/0x360 [ 57.171674][ C2] ip_local_deliver_finish+0x2ae/0x480 [ 57.172028][ C2] ip_local_deliver+0x19d/0x480 [ 57.172286][ C2] ? __pfx_ip_local_deliver+0x10/0x10 [ 57.172578][ C2] ? tcp_v4_early_demux+0x59a/0x9d0 [ 57.172864][ C2] ? ip_rcv_finish_core.constprop.0+0x522/0x1300 [ 57.173198][ C2] ip_rcv+0x564/0x740 [ 57.173409][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 57.173655][ C2] ? lock_acquire.part.0+0xe5/0x330 [ 57.173951][ C2] ? netif_receive_skb_internal+0x84/0x300 [ 57.174278][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 57.174512][ C2] __netif_receive_skb_one_core+0x166/0x1b0 [ 57.174848][ C2] ? __pfx___netif_receive_skb_one_core+0x10/0x10 [ 57.175219][ C2] ? mark_held_locks+0xa5/0xf0 [ 57.175471][ C2] ? lock_acquire+0x1c1/0x220 [ 57.175754][ C2] ? netif_receive_skb_internal+0x84/0x300 [ 57.176078][ C2] netif_receive_skb_internal+0xb0/0x300 [ 57.176392][ C2] ? __pfx_netif_receive_skb_internal+0x10/0x10 [ 57.176740][ C2] ? __copy_skb_header+0xaf/0x490 [ 57.177027][ C2] ? __skb_clone+0x57a/0x760 [ 57.177293][ C2] netif_receive_skb+0x55/0x280 [ 57.177544][ C2] tcf_mirred_to_dev+0x444/0xd70 [act_mirred] [ 57.177882][ C2] ? __pfx_tcf_skbedit_act+0x10/0x10 [act_skbedit] [ 57.178219][ C2] tcf_mirred_act+0x338/0x780 [act_mirred] [ 57.178546][ C2] tcf_action_exec.part.0+0x112/0x3d0 [ 57.178882][ C2] fl_classify+0x4dc/0x650 [cls_flower] [ 57.179203][ C2] ? __pfx_fl_classify+0x10/0x10 [cls_flower] [ 57.179533][ C2] ? mark_lock+0x38/0x3e0 [ 57.179769][ C2] ? __pfx_check_irq_usage+0x10/0x10 [ 57.180051][ C2] ? __bfs+0x247/0x650 [ 57.180268][ C2] ? __pfx_hlock_conflict+0x10/0x10 [ 57.180547][ C2] ? hlock_class+0x4e/0x130 [ 57.180803][ C2] ? check_path.constprop.0+0x24/0x50 [ 57.181088][ C2] ? check_noncircular+0x14e/0x3e0 [ 57.181357][ C2] ? __pfx_check_noncircular+0x10/0x10 [ 57.181649][ C2] ? hlock_class+0x4e/0x130 [ 57.181894][ C2] ? check_prev_add+0x773/0xce0 [ 57.182157][ C2] __tcf_classify+0x329/0x7d0 [ 57.182402][ C2] tcf_classify+0x283/0x930 [ 57.182646][ C2] ? __pfx_tcf_classify+0x10/0x10 [ 57.182918][ C2] ? __dev_queue_xmit+0x1da/0x17e0 [ 57.183198][ C2] ? lock_acquire.part.0+0xe5/0x330 [ 57.183471][ C2] ? __dev_queue_xmit+0x1da/0x17e0 [ 57.183771][ C2] tc_run+0x2e4/0x5d0 [ 57.184002][ C2] ? __pfx_tc_run+0x10/0x10 [ 57.184248][ C2] ? lock_acquire+0x1c1/0x220 [ 57.184490][ C2] ? __dev_queue_xmit+0x1da/0x17e0 [ 57.184766][ C2] __dev_queue_xmit+0x686/0x17e0 [ 57.185043][ C2] ? mark_held_locks+0xa5/0xf0 [ 57.185305][ C2] ? lockdep_hardirqs_on_prepare.part.0+0x151/0x370 [ 57.185664][ C2] ? __pfx___dev_queue_xmit+0x10/0x10 [ 57.185962][ C2] ? neigh_hh_output+0x348/0x590 [ 57.186238][ C2] ip_finish_output2+0x786/0x18e0 [ 57.186530][ C2] ? __pfx_ip_finish_output2+0x10/0x10 [ 57.186839][ C2] ? __ip_finish_output+0x10f/0x770 [ 57.187133][ C2] ip_output+0x16b/0x4f0 [ 57.187357][ C2] ? __pfx_ip_output+0x10/0x10 [ 57.187634][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 57.187960][ C2] ? ip_local_out+0x114/0x3b0 [ 57.188211][ C2] __ip_queue_xmit+0x672/0x1910 [ 57.188468][ C2] ? __create_object+0x5e/0xb0 [ 57.188734][ C2] __tcp_transmit_skb+0x22b1/0x2d20 [ 57.189007][ C2] ? __pfx___tcp_transmit_skb+0x10/0x10 [ 57.189316][ C2] ? __tcp_send_ack.part.0+0x66/0x6e0 [ 57.189608][ C2] tcp_rcv_state_process+0x7ca/0x1fe0 [ 57.189923][ C2] ? tcp_v4_rcv+0x221e/0x2ac0 [ 57.190179][ C2] ? hlock_class+0x4e/0x130 [ 57.190426][ C2] ? __lock_acquired+0x18a/0x6b0 [ 57.190722][ C2] ? __pfx_tcp_rcv_state_process+0x10/0x10 [ 57.191023][ C2] ? __pfx___lock_acquired+0x10/0x10 [ 57.191306][ C2] ? __pfx_do_raw_spin_trylock+0x10/0x10 [ 57.191598][ C2] tcp_v4_do_rcv+0x154/0x860 [ 57.191916][ C2] tcp_v4_rcv+0x2449/0x2ac0 [ 57.192184][ C2] ? __pfx_tcp_v4_rcv+0x10/0x10 [ 57.192464][ C2] ? __pfx_raw_v4_input+0x10/0x10 [ 57.192751][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 57.193051][ C2] ip_protocol_deliver_rcu+0x93/0x360 [ 57.193354][ C2] ip_local_deliver_finish+0x2ae/0x480 [ 57.193651][ C2] ip_local_deliver+0x19d/0x480 [ 57.193921][ C2] ? __pfx_ip_local_deliver+0x10/0x10 [ 57.194212][ C2] ? tcp_v4_early_demux+0x59a/0x9d0 [ 57.194497][ C2] ? ip_rcv_finish_core.constprop.0+0x522/0x1300 [ 57.194860][ C2] ip_rcv+0x564/0x740 [ 57.195087][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 57.195340][ C2] ? lock_acquire.part.0+0xe5/0x330 [ 57.195641][ C2] ? process_backlog+0x1ed/0x5e0 [ 57.195909][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 57.196176][ C2] __netif_receive_skb_one_core+0x166/0x1b0 [ 57.196485][ C2] ? __pfx___netif_receive_skb_one_core+0x10/0x10 [ 57.196835][ C2] ? __pfx_do_raw_spin_trylock+0x10/0x10 [ 57.197145][ C2] ? lock_acquire+0x1c1/0x220 [ 57.197410][ C2] ? process_backlog+0x1ed/0x5e0 [ 57.197664][ C2] process_backlog+0xd3/0x5e0 [ 57.197932][ C2] __napi_poll.constprop.0+0xa2/0x460 [ 57.198225][ C2] net_rx_action+0x440/0xb40 [ 57.198469][ C2] ? __pfx_net_rx_action+0x10/0x10 [ 57.198759][ C2] ? kvm_clock_get_cycles+0x18/0x30 [ 57.199044][ C2] ? ktime_get+0xb3/0x190 [ 57.199272][ C2] ? hrtimer_interrupt+0x30e/0x770 [ 57.199556][ C2] ? hrtimer_interrupt+0x31a/0x770 [ 57.199904][ C2] __do_softirq+0x1b9/0x7ff [ 57.200160][ C2] ? tcp_recvmsg+0xf8/0x4f0 [ 57.200407][ C2] do_softirq+0x4d/0xa0 [ 57.200635][ C2] [ 57.200809][ C2] [ 57.200966][ C2] __local_bh_enable_ip+0xf6/0x120 [ 57.201253][ C2] tcp_recvmsg+0xf8/0x4f0 [ 57.201475][ C2] ? __pfx_tcp_recvmsg+0x10/0x10 [ 57.201750][ C2] ? core_sys_select+0x620/0x710 [ 57.202025][ C2] ? __pfx_core_sys_select+0x10/0x10 [ 57.202309][ C2] inet_recvmsg+0xf9/0x2c0 [ 57.202553][ C2] ? __pfx_inet_recvmsg+0x10/0x10 [ 57.202831][ C2] ? __fget_light+0x54/0x1e0 [ 57.203086][ C2] ? sockfd_lookup_light+0x1a/0x160 [ 57.203390][ C2] __sys_recvfrom+0x2fb/0x3b0 [ 57.203658][ C2] ? __pfx___sys_recvfrom+0x10/0x10 [ 57.203970][ C2] ? __pfx___lock_release+0x10/0x10 [ 57.204251][ C2] ? do_pselect.constprop.0+0x12b/0x1e0 [ 57.204557][ C2] ? __pfx_do_pselect.constprop.0+0x10/0x10 [ 57.204890][ C2] ? restore_fpregs_from_fpstate+0x99/0x160 [ 57.205230][ C2] ? __pfx_restore_fpregs_from_fpstate+0x10/0x10 [ 57.205583][ C2] __x64_sys_recvfrom+0xe0/0x1c0 [ 57.205855][ C2] ? lockdep_hardirqs_on_prepare.part.0+0x1b1/0x370 [ 57.206210][ C2] do_syscall_64+0xc9/0x1e0 [ 57.206460][ C2] entry_SYSCALL_64_after_hwframe+0x6f/0x77 [ 57.206790][ C2] RIP: 0033:0x7fc19e2174c0 [ 57.207022][ C2] Code: 84 00 00 00 00 00 0f 1f 40 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 2d 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 [ 57.208032][ C2] RSP: 002b:00007ffdd9477f58 EFLAGS: 00000246 ORIG_RAX: 000000000000002d [ 57.208460][ C2] RAX: ffffffffffffffda RBX: 000056394474aa20 RCX: 00007fc19e2174c0 [ 57.208869][ C2] RDX: 0000000000002000 RSI: 00007ffdd9477fe0 RDI: 0000000000000008 [ 57.209298][ C2] RBP: 00007ffdd9477fe0 R08: 0000000000000000 R09: 0000000000000000 [ 57.209721][ C2] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000008 [ 57.210144][ C2] R13: 000056394474aa20 R14: 0000000000000000 R15: 00007ffdd9477fdc [ 57.210560][ C2] [ 69.701674][ T533] ncat (533) used greatest stack depth: 21496 bytes left [ 112.753002][ T532] ncat (532) used greatest stack depth: 21008 bytes left TEST: mirred_egress_to_ingress_tcp (skip_hw) [ OK ] # INFO: Could not test offloaded functionality ok 1 selftests: net/forwarding: tc_actions.sh make[1]: Leaving directory '/home/virtme/testing-4/tools/testing/selftests/net/forwarding' make: Leaving directory '/home/virtme/testing-4/tools/testing/selftests' xx__-> echo $? 0 xx__->