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 [ 16.994421][ T233] ip (233) used greatest stack depth: 23280 bytes left [ 28.205528][ T329] GACT probability NOT on # TEST: gact drop and ok (skip_hw) [ OK ] [ 31.962873][ T401] Mirror/redirect action on # 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 ] # [ 43.398285][ C2] [ 43.398446][ C2] ============================================ [ 43.398774][ C2] WARNING: possible recursive locking detected [ 43.399149][ C2] 6.8.0-rc2-virtme #1 Not tainted [ 43.399434][ C2] -------------------------------------------- [ 43.399770][ C2] ncat/594 is trying to acquire lock: [ 43.400054][ C2] ffff8880062b8e30 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x2159/0x29b0 [ 43.400554][ C2] [ 43.400554][ C2] but task is already holding lock: [ 43.400961][ C2] ffff8880062b9b70 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x2159/0x29b0 [ 43.401453][ C2] [ 43.401453][ C2] other info that might help us debug this: [ 43.401897][ C2] Possible unsafe locking scenario: [ 43.401897][ C2] [ 43.402305][ C2] CPU0 [ 43.402491][ C2] ---- [ 43.402669][ C2] lock(slock-AF_INET/1); [ 43.402938][ C2] lock(slock-AF_INET/1); [ 43.403191][ C2] [ 43.403191][ C2] *** DEADLOCK *** [ 43.403191][ C2] [ 43.403643][ C2] May be due to missing lock nesting notation [ 43.403643][ C2] [ 43.404102][ C2] 8 locks held by ncat/594: [ 43.404369][ C2] #0: ffffffff9e3447e0 (rcu_read_lock){....}-{1:2}, at: process_backlog+0x1ed/0x5e0 [ 43.404879][ C2] #1: ffffffff9e3447e0 (rcu_read_lock){....}-{1:2}, at: ip_local_deliver_finish+0x1f5/0x450 [ 43.405431][ C2] #2: ffff8880062b9b70 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x2159/0x29b0 [ 43.405942][ C2] #3: ffffffff9e3447e0 (rcu_read_lock){....}-{1:2}, at: __ip_queue_xmit+0x65/0x1910 [ 43.406455][ C2] #4: ffffffff9e3447e0 (rcu_read_lock){....}-{1:2}, at: ip_finish_output2+0x262/0x18e0 [ 43.406997][ C2] #5: ffffffff9e344780 (rcu_read_lock_bh){....}-{1:2}, at: __dev_queue_xmit+0x1c1/0x1ca0 [ 43.407535][ C2] #6: ffffffff9e3447e0 (rcu_read_lock){....}-{1:2}, at: netif_receive_skb_internal+0x84/0x300 [ 43.408098][ C2] #7: ffffffff9e3447e0 (rcu_read_lock){....}-{1:2}, at: ip_local_deliver_finish+0x1f5/0x450 [ 43.408650][ C2] [ 43.408650][ C2] stack backtrace: [ 43.408988][ C2] CPU: 2 PID: 594 Comm: ncat Not tainted 6.8.0-rc2-virtme #1 [ 43.409391][ C2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 43.410049][ C2] Call Trace: [ 43.410261][ C2] [ 43.410431][ C2] dump_stack_lvl+0x64/0xb0 [ 43.410687][ C2] validate_chain+0x525/0xa00 [ 43.410964][ C2] ? __pfx_validate_chain+0x10/0x10 [ 43.411250][ C2] ? hlock_class+0x4e/0x130 [ 43.411502][ C2] ? mark_lock+0x38/0x3e0 [ 43.411740][ C2] __lock_acquire+0xb67/0x1610 [ 43.412018][ C2] ? lock_downgrade+0xa0/0x110 [ 43.412287][ C2] ? mark_lock+0x38/0x3e0 [ 43.412526][ C2] lock_acquire.part.0+0xe5/0x330 [ 43.412804][ C2] ? tcp_v4_rcv+0x2159/0x29b0 [ 43.413090][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 43.413412][ C2] ? __pfx_sk_filter_trim_cap+0x10/0x10 [ 43.413720][ C2] ? lock_acquire+0x1c1/0x220 [ 43.413976][ C2] ? tcp_v4_rcv+0x2159/0x29b0 [ 43.414249][ C2] _raw_spin_lock_nested+0x33/0x80 [ 43.414530][ C2] ? tcp_v4_rcv+0x2159/0x29b0 [ 43.414783][ C2] tcp_v4_rcv+0x2159/0x29b0 [ 43.415055][ C2] ? __pfx_tcp_v4_rcv+0x10/0x10 [ 43.415328][ C2] ? __pfx_raw_v4_input+0x10/0x10 [ 43.415606][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 43.415927][ C2] ip_protocol_deliver_rcu+0x93/0x360 [ 43.416226][ C2] ip_local_deliver_finish+0x2ae/0x450 [ 43.416529][ C2] ip_local_deliver+0x19d/0x480 [ 43.416809][ C2] ? __pfx_ip_local_deliver+0x10/0x10 [ 43.417113][ C2] ? ip_rcv_finish_core.constprop.0+0x522/0x1300 [ 43.417462][ C2] ip_rcv+0x564/0x740 [ 43.417688][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 43.417939][ C2] ? lock_acquire.part.0+0xe5/0x330 [ 43.418228][ C2] ? netif_receive_skb_internal+0x84/0x300 [ 43.418545][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 43.418804][ C2] __netif_receive_skb_one_core+0x166/0x1b0 [ 43.419129][ C2] ? __pfx___netif_receive_skb_one_core+0x10/0x10 [ 43.419484][ C2] ? mark_held_locks+0xa5/0xf0 [ 43.419751][ C2] ? lock_acquire+0x1c1/0x220 [ 43.420025][ C2] ? netif_receive_skb_internal+0x84/0x300 [ 43.420348][ C2] netif_receive_skb_internal+0xb0/0x300 [ 43.420662][ C2] ? __pfx_netif_receive_skb_internal+0x10/0x10 [ 43.421003][ C2] ? __copy_skb_header+0xaf/0x490 [ 43.421289][ C2] ? __skb_clone+0x57a/0x760 [ 43.421549][ C2] netif_receive_skb+0x55/0x280 [ 43.421828][ C2] tcf_mirred_to_dev+0x444/0xd70 [act_mirred] [ 43.422165][ C2] ? __pfx_tcf_skbedit_act+0x10/0x10 [act_skbedit] [ 43.422535][ C2] tcf_mirred_act+0x338/0x780 [act_mirred] [ 43.422860][ C2] tcf_action_exec.part.0+0x115/0x3d0 [ 43.423156][ C2] fl_classify+0x4dc/0x650 [cls_flower] [ 43.423492][ C2] ? __pfx_fl_classify+0x10/0x10 [cls_flower] [ 43.423828][ C2] ? __pfx_usage_match+0x10/0x10 [ 43.424105][ C2] ? check_irq_usage+0x27e/0x850 [ 43.424387][ C2] ? __pfx_check_irq_usage+0x10/0x10 [ 43.424678][ C2] ? __bfs+0x24a/0x650 [ 43.424915][ C2] ? __pfx_hlock_conflict+0x10/0x10 [ 43.425202][ C2] ? hlock_class+0x4e/0x130 [ 43.425465][ C2] ? check_path.constprop.0+0x24/0x50 [ 43.425765][ C2] ? check_noncircular+0x14e/0x3e0 [ 43.426055][ C2] ? __pfx_check_noncircular+0x10/0x10 [ 43.426367][ C2] __tcf_classify+0x32c/0x7d0 [ 43.426635][ C2] tcf_classify+0x283/0x930 [ 43.426886][ C2] ? __pfx_tcf_classify+0x10/0x10 [ 43.427171][ C2] ? lock_acquire.part.0+0xe5/0x330 [ 43.427460][ C2] ? __dev_queue_xmit+0x1c1/0x1ca0 [ 43.427752][ C2] tc_run+0x2e4/0x5d0 [ 43.427978][ C2] ? __pfx_tc_run+0x10/0x10 [ 43.428234][ C2] ? lock_acquire+0x1c1/0x220 [ 43.428504][ C2] ? __dev_queue_xmit+0x1c1/0x1ca0 [ 43.428794][ C2] __dev_queue_xmit+0x8eb/0x1ca0 [ 43.429071][ C2] ? hlock_class+0x4e/0x130 [ 43.429330][ C2] ? mark_lock+0x38/0x3e0 [ 43.429575][ C2] ? __pfx___dev_queue_xmit+0x10/0x10 [ 43.429878][ C2] ? lockdep_hardirqs_on_prepare.part.0+0x151/0x370 [ 43.430234][ C2] ? neigh_hh_output+0x348/0x590 [ 43.430517][ C2] ip_finish_output2+0x786/0x18e0 [ 43.430798][ C2] ? __pfx_ip_finish_output2+0x10/0x10 [ 43.431113][ C2] ? __ip_finish_output+0x10f/0x770 [ 43.431411][ C2] ip_output+0x16b/0x4f0 [ 43.431650][ C2] ? __pfx_ip_output+0x10/0x10 [ 43.431921][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 43.432235][ C2] ? ip_local_out+0x114/0x3b0 [ 43.432500][ C2] __ip_queue_xmit+0x672/0x1910 [ 43.432774][ C2] ? __create_object+0x5e/0xb0 [ 43.433045][ C2] __tcp_transmit_skb+0x22b1/0x2d20 [ 43.433348][ C2] ? __pfx___tcp_transmit_skb+0x10/0x10 [ 43.433676][ C2] ? __tcp_send_ack.part.0+0x66/0x6e0 [ 43.433978][ C2] tcp_rcv_state_process+0x862/0x1fd0 [ 43.434274][ C2] ? tcp_v4_rcv+0x2159/0x29b0 [ 43.434544][ C2] ? hlock_class+0x4e/0x130 [ 43.434800][ C2] ? __lock_acquired+0x18a/0x6b0 [ 43.435082][ C2] ? __pfx_tcp_rcv_state_process+0x10/0x10 [ 43.435410][ C2] ? __pfx___lock_acquired+0x10/0x10 [ 43.435710][ C2] ? __pfx_do_raw_spin_trylock+0x10/0x10 [ 43.436025][ C2] tcp_v4_do_rcv+0x154/0x850 [ 43.436287][ C2] tcp_v4_rcv+0x235a/0x29b0 [ 43.436547][ C2] ? __pfx_tcp_v4_rcv+0x10/0x10 [ 43.436818][ C2] ? __pfx_raw_v4_input+0x10/0x10 [ 43.437101][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 43.437417][ C2] ip_protocol_deliver_rcu+0x93/0x360 [ 43.437713][ C2] ip_local_deliver_finish+0x2ae/0x450 [ 43.438020][ C2] ip_local_deliver+0x19d/0x480 [ 43.438289][ C2] ? __pfx_ip_local_deliver+0x10/0x10 [ 43.438594][ C2] ? ip_rcv_finish_core.constprop.0+0x522/0x1300 [ 43.438939][ C2] ip_rcv+0x564/0x740 [ 43.439172][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 43.439426][ C2] ? lock_acquire.part.0+0xe5/0x330 [ 43.439721][ C2] ? process_backlog+0x1ed/0x5e0 [ 43.440001][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 43.440259][ C2] __netif_receive_skb_one_core+0x166/0x1b0 [ 43.440584][ C2] ? __pfx___netif_receive_skb_one_core+0x10/0x10 [ 43.440939][ C2] ? __pfx_do_raw_spin_trylock+0x10/0x10 [ 43.441250][ C2] ? lock_acquire+0x1c1/0x220 [ 43.441516][ C2] ? process_backlog+0x1ed/0x5e0 [ 43.441794][ C2] process_backlog+0xd3/0x5e0 [ 43.442064][ C2] __napi_poll.constprop.0+0xa5/0x450 [ 43.442361][ C2] net_rx_action+0x440/0xb40 [ 43.442634][ C2] ? __pfx_net_rx_action+0x10/0x10 [ 43.442920][ C2] ? kvm_clock_get_cycles+0x18/0x30 [ 43.443218][ C2] ? ktime_get+0xb6/0x190 [ 43.443473][ C2] ? hrtimer_interrupt+0x30e/0x770 [ 43.443762][ C2] ? hrtimer_interrupt+0x31a/0x770 [ 43.444050][ C2] __do_softirq+0x1bc/0x7ff [ 43.444303][ C2] ? tcp_recvmsg+0xf8/0x4f0 [ 43.444578][ C2] do_softirq+0x4d/0xa0 [ 43.444819][ C2] [ 43.444984][ C2] [ 43.445160][ C2] __local_bh_enable_ip+0xf6/0x120 [ 43.445446][ C2] tcp_recvmsg+0xf8/0x4f0 [ 43.445697][ C2] ? __pfx_tcp_recvmsg+0x10/0x10 [ 43.445973][ C2] ? core_sys_select+0x620/0x710 [ 43.446255][ C2] ? __pfx_core_sys_select+0x10/0x10 [ 43.446551][ C2] inet_recvmsg+0xf9/0x2c0 [ 43.446808][ C2] ? __pfx_inet_recvmsg+0x10/0x10 [ 43.447088][ C2] ? __fget_light+0x54/0x1e0 [ 43.447351][ C2] ? sockfd_lookup_light+0x1a/0x160 [ 43.447641][ C2] __sys_recvfrom+0x2fb/0x3b0 [ 43.447908][ C2] ? __pfx___sys_recvfrom+0x10/0x10 [ 43.448195][ C2] ? __pfx___lock_release+0x10/0x10 [ 43.448496][ C2] ? do_pselect.constprop.0+0x12b/0x1e0 [ 43.448799][ C2] ? __pfx_do_pselect.constprop.0+0x10/0x10 [ 43.449141][ C2] ? restore_fpregs_from_fpstate+0x99/0x160 [ 43.449473][ C2] ? __pfx_restore_fpregs_from_fpstate+0x10/0x10 [ 43.449833][ C2] __x64_sys_recvfrom+0xe0/0x1c0 [ 43.450111][ C2] ? lockdep_hardirqs_on_prepare.part.0+0x1b1/0x370 [ 43.450472][ C2] do_syscall_64+0xcc/0x1e0 [ 43.450731][ C2] entry_SYSCALL_64_after_hwframe+0x6f/0x77 [ 43.451059][ C2] RIP: 0033:0x7f6c201034c0 [ 43.451316][ 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 [ 43.452349][ C2] RSP: 002b:00007fff20818f68 EFLAGS: 00000246 ORIG_RAX: 000000000000002d [ 43.452802][ C2] RAX: ffffffffffffffda RBX: 000055ebb1623a20 RCX: 00007f6c201034c0 [ 43.453241][ C2] RDX: 0000000000002000 RSI: 00007fff20818ff0 RDI: 0000000000000008 [ 43.453686][ C2] RBP: 00007fff20818ff0 R08: 0000000000000000 R09: 0000000000000000 [ 43.454124][ C2] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000008 [ 43.454559][ C2] R13: 000055ebb1623a20 R14: 0000000000000000 R15: 00007fff20818fec [ 43.454995][ C2] [ 43.558231][ T595] ncat (595) used greatest stack depth: 21352 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__->