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 0 # selftests: net/forwarding: tc_actions.sh # TEST: gact drop and ok (skip_hw) [ OK ] [ 1279.541088][ T3864] 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 ] [ 1285.245037][ T3950] tc (3950) used greatest stack depth: 23120 bytes left # TEST: mirred_egress_to_ingress (skip_hw) [ OK ] # [ 1292.034810][ C2] [ 1292.035042][ C2] ============================================ [ 1292.035531][ C2] WARNING: possible recursive locking detected [ 1292.036026][ C2] 6.8.0-rc1-virtme #1 Not tainted [ 1292.036425][ C2] -------------------------------------------- [ 1292.036922][ C2] ncat/4039 is trying to acquire lock: [ 1292.037365][ C2] ffff888009a70e30 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x2159/0x29b0 [ 1292.038087][ C2] [ 1292.038087][ C2] but task is already holding lock: [ 1292.038670][ C2] ffff888009a71b70 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x2159/0x29b0 [ 1292.039369][ C2] [ 1292.039369][ C2] other info that might help us debug this: [ 1292.039985][ C2] Possible unsafe locking scenario: [ 1292.039985][ C2] [ 1292.040581][ C2] CPU0 [ 1292.040847][ C2] ---- [ 1292.041109][ C2] lock(slock-AF_INET/1); [ 1292.041475][ C2] lock(slock-AF_INET/1); [ 1292.041840][ C2] [ 1292.041840][ C2] *** DEADLOCK *** [ 1292.041840][ C2] [ 1292.042481][ C2] May be due to missing lock nesting notation [ 1292.042481][ C2] [ 1292.043122][ C2] 8 locks held by ncat/4039: [ 1292.043504][ C2] #0: ffffffffa5b447e0 (rcu_read_lock){....}-{1:2}, at: process_backlog+0x1ed/0x5e0 [ 1292.044249][ C2] #1: ffffffffa5b447e0 (rcu_read_lock){....}-{1:2}, at: ip_local_deliver_finish+0x1f5/0x450 [ 1292.045062][ C2] #2: ffff888009a71b70 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x2159/0x29b0 [ 1292.045814][ C2] #3: ffffffffa5b447e0 (rcu_read_lock){....}-{1:2}, at: __ip_queue_xmit+0x65/0x1910 [ 1292.046562][ C2] #4: ffffffffa5b447e0 (rcu_read_lock){....}-{1:2}, at: ip_finish_output2+0x262/0x18e0 [ 1292.047323][ C2] #5: ffffffffa5b44780 (rcu_read_lock_bh){....}-{1:2}, at: __dev_queue_xmit+0x1c1/0x1ca0 [ 1292.048101][ C2] #6: ffffffffa5b447e0 (rcu_read_lock){....}-{1:2}, at: netif_receive_skb_internal+0x84/0x300 [ 1292.048944][ C2] #7: ffffffffa5b447e0 (rcu_read_lock){....}-{1:2}, at: ip_local_deliver_finish+0x1f5/0x450 [ 1292.049761][ C2] [ 1292.049761][ C2] stack backtrace: [ 1292.050244][ C2] CPU: 2 PID: 4039 Comm: ncat Not tainted 6.8.0-rc1-virtme #1 [ 1292.050825][ C2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 1292.051784][ C2] Call Trace: [ 1292.052055][ C2] [ 1292.052294][ C2] dump_stack_lvl+0x64/0xb0 [ 1292.052670][ C2] validate_chain+0x525/0xa00 [ 1292.053043][ C2] ? __pfx_validate_chain+0x10/0x10 [ 1292.053447][ C2] ? hlock_class+0x4e/0x130 [ 1292.053819][ C2] ? mark_lock+0x38/0x3e0 [ 1292.054169][ C2] __lock_acquire+0xb67/0x1610 [ 1292.054559][ C2] ? lock_downgrade+0x90/0x110 [ 1292.054957][ C2] ? mark_lock+0x38/0x3e0 [ 1292.055303][ C2] lock_acquire.part.0+0xe5/0x330 [ 1292.055703][ C2] ? tcp_v4_rcv+0x2159/0x29b0 [ 1292.056083][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 1292.056534][ C2] ? __pfx_sk_filter_trim_cap+0x10/0x10 [ 1292.056987][ C2] ? lock_acquire+0x1c1/0x220 [ 1292.057354][ C2] ? tcp_v4_rcv+0x2159/0x29b0 [ 1292.057734][ C2] _raw_spin_lock_nested+0x33/0x80 [ 1292.058144][ C2] ? tcp_v4_rcv+0x2159/0x29b0 [ 1292.058512][ C2] tcp_v4_rcv+0x2159/0x29b0 [ 1292.058901][ C2] ? __pfx_tcp_v4_rcv+0x10/0x10 [ 1292.059299][ C2] ? __pfx_raw_v4_input+0x10/0x10 [ 1292.059695][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 1292.060142][ C2] ip_protocol_deliver_rcu+0x93/0x360 [ 1292.060592][ C2] ip_local_deliver_finish+0x2ae/0x450 [ 1292.061021][ C2] ip_local_deliver+0x19d/0x480 [ 1292.061399][ C2] ? __pfx_ip_local_deliver+0x10/0x10 [ 1292.061831][ C2] ? ip_rcv_finish_core.constprop.0+0x522/0x1300 [ 1292.062322][ C2] ip_rcv+0x564/0x740 [ 1292.062640][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 1292.063022][ C2] ? lock_acquire.part.0+0xe5/0x330 [ 1292.063437][ C2] ? netif_receive_skb_internal+0x84/0x300 [ 1292.063897][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 1292.064252][ C2] __netif_receive_skb_one_core+0x166/0x1b0 [ 1292.064727][ C2] ? __pfx___netif_receive_skb_one_core+0x10/0x10 [ 1292.065227][ C2] ? mark_held_locks+0xa5/0xf0 [ 1292.065604][ C2] ? lock_acquire+0x1c1/0x220 [ 1292.065986][ C2] ? netif_receive_skb_internal+0x84/0x300 [ 1292.066447][ C2] netif_receive_skb_internal+0xb0/0x300 [ 1292.066888][ C2] ? __pfx_netif_receive_skb_internal+0x10/0x10 [ 1292.067400][ C2] ? __copy_skb_header+0xaf/0x490 [ 1292.067800][ C2] ? __skb_clone+0x57a/0x760 [ 1292.068181][ C2] netif_receive_skb+0x55/0x280 [ 1292.068563][ C2] tcf_mirred_to_dev+0x444/0xd70 [act_mirred] [ 1292.069060][ C2] ? __pfx_tcf_skbedit_act+0x10/0x10 [act_skbedit] [ 1292.069570][ C2] tcf_mirred_act+0x338/0x780 [act_mirred] [ 1292.070081][ C2] tcf_action_exec.part.0+0x115/0x3d0 [ 1292.070506][ C2] fl_classify+0x4dc/0x650 [cls_flower] [ 1292.070971][ C2] ? __pfx_fl_classify+0x10/0x10 [cls_flower] [ 1292.071468][ C2] ? __pfx_usage_match+0x10/0x10 [ 1292.071858][ C2] ? check_irq_usage+0x27e/0x850 [ 1292.072253][ C2] ? __pfx_check_irq_usage+0x10/0x10 [ 1292.072668][ C2] ? __bfs+0x24a/0x650 [ 1292.073019][ C2] ? __pfx_hlock_conflict+0x10/0x10 [ 1292.073431][ C2] ? hlock_class+0x4e/0x130 [ 1292.073796][ C2] ? check_path.constprop.0+0x24/0x50 [ 1292.074227][ C2] ? check_noncircular+0x14e/0x3e0 [ 1292.074643][ C2] ? __pfx_check_noncircular+0x10/0x10 [ 1292.075099][ C2] __tcf_classify+0x32c/0x7d0 [ 1292.075494][ C2] tcf_classify+0x283/0x930 [ 1292.075855][ C2] ? __pfx_tcf_classify+0x10/0x10 [ 1292.076277][ C2] ? lock_acquire.part.0+0xe5/0x330 [ 1292.076686][ C2] ? __dev_queue_xmit+0x1c1/0x1ca0 [ 1292.077097][ C2] tc_run+0x2e4/0x5d0 [ 1292.077413][ C2] ? __pfx_tc_run+0x10/0x10 [ 1292.077789][ C2] ? lock_acquire+0x1c1/0x220 [ 1292.078165][ C2] ? __dev_queue_xmit+0x1c1/0x1ca0 [ 1292.078575][ C2] __dev_queue_xmit+0x8eb/0x1ca0 [ 1292.078980][ C2] ? hlock_class+0x4e/0x130 [ 1292.079343][ C2] ? mark_lock+0x38/0x3e0 [ 1292.079687][ C2] ? __pfx___dev_queue_xmit+0x10/0x10 [ 1292.080122][ C2] ? lockdep_hardirqs_on_prepare.part.0+0x151/0x370 [ 1292.080634][ C2] ? neigh_hh_output+0x348/0x590 [ 1292.081054][ C2] ip_finish_output2+0x786/0x18e0 [ 1292.081455][ C2] ? __pfx_ip_finish_output2+0x10/0x10 [ 1292.081892][ C2] ? __ip_finish_output+0x10f/0x770 [ 1292.082329][ C2] ip_output+0x16b/0x4f0 [ 1292.082674][ C2] ? __pfx_ip_output+0x10/0x10 [ 1292.083059][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 1292.083532][ C2] ? ip_local_out+0x114/0x3b0 [ 1292.083902][ C2] __ip_queue_xmit+0x672/0x1910 [ 1292.084290][ C2] ? __create_object+0x5e/0xb0 [ 1292.084695][ C2] __tcp_transmit_skb+0x22b1/0x2d20 [ 1292.085125][ C2] ? __pfx___tcp_transmit_skb+0x10/0x10 [ 1292.085596][ C2] ? __tcp_send_ack.part.0+0x66/0x6e0 [ 1292.086029][ C2] tcp_rcv_state_process+0x862/0x1fd0 [ 1292.086456][ C2] ? tcp_v4_rcv+0x2159/0x29b0 [ 1292.086856][ C2] ? hlock_class+0x4e/0x130 [ 1292.087224][ C2] ? __lock_acquired+0x18a/0x6b0 [ 1292.087613][ C2] ? __pfx_tcp_rcv_state_process+0x10/0x10 [ 1292.088091][ C2] ? __pfx___lock_acquired+0x10/0x10 [ 1292.088521][ C2] ? __pfx_do_raw_spin_trylock+0x10/0x10 [ 1292.088992][ C2] tcp_v4_do_rcv+0x154/0x850 [ 1292.089372][ C2] tcp_v4_rcv+0x235a/0x29b0 [ 1292.089748][ C2] ? __pfx_tcp_v4_rcv+0x10/0x10 [ 1292.090131][ C2] ? __pfx_raw_v4_input+0x10/0x10 [ 1292.090533][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 1292.091013][ C2] ip_protocol_deliver_rcu+0x93/0x360 [ 1292.091445][ C2] ip_local_deliver_finish+0x2ae/0x450 [ 1292.091865][ C2] ip_local_deliver+0x19d/0x480 [ 1292.092267][ C2] ? __pfx_ip_local_deliver+0x10/0x10 [ 1292.092691][ C2] ? ip_rcv_finish_core.constprop.0+0x522/0x1300 [ 1292.093036][ C2] ip_rcv+0x564/0x740 [ 1292.093265][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 1292.093514][ C2] ? lock_acquire.part.0+0xe5/0x330 [ 1292.093796][ C2] ? process_backlog+0x1ed/0x5e0 [ 1292.094053][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 1292.094317][ C2] __netif_receive_skb_one_core+0x166/0x1b0 [ 1292.094695][ C2] ? __pfx___netif_receive_skb_one_core+0x10/0x10 [ 1292.095191][ C2] ? __pfx_do_raw_spin_trylock+0x10/0x10 [ 1292.095597][ C2] ? lock_acquire+0x1c1/0x220 [ 1292.095851][ C2] ? process_backlog+0x1ed/0x5e0 [ 1292.096111][ C2] process_backlog+0xd3/0x5e0 [ 1292.096355][ C2] __napi_poll.constprop.0+0xa5/0x450 [ 1292.096667][ C2] net_rx_action+0x440/0xb40 [ 1292.096911][ C2] ? __pfx_net_rx_action+0x10/0x10 [ 1292.097191][ C2] ? kvm_clock_get_cycles+0x18/0x30 [ 1292.097463][ C2] ? ktime_get+0xb6/0x190 [ 1292.097705][ C2] ? hrtimer_interrupt+0x30e/0x770 [ 1292.098005][ C2] ? hrtimer_interrupt+0x31a/0x770 [ 1292.098280][ C2] __do_softirq+0x1bc/0x7ff [ 1292.098518][ C2] ? tcp_recvmsg+0xf8/0x4f0 [ 1292.098852][ C2] do_softirq+0x4d/0xa0 [ 1292.099209][ C2] [ 1292.099448][ C2] [ 1292.099679][ C2] __local_bh_enable_ip+0xf6/0x120 [ 1292.100089][ C2] tcp_recvmsg+0xf8/0x4f0 [ 1292.100432][ C2] ? __pfx_tcp_recvmsg+0x10/0x10 [ 1292.100826][ C2] ? core_sys_select+0x620/0x710 [ 1292.101215][ C2] ? __pfx_core_sys_select+0x10/0x10 [ 1292.101624][ C2] inet_recvmsg+0xf9/0x2c0 [ 1292.101970][ C2] ? __pfx_inet_recvmsg+0x10/0x10 [ 1292.102359][ C2] ? __fget_light+0x54/0x1e0 [ 1292.102730][ C2] ? sockfd_lookup_light+0x1a/0x160 [ 1292.103141][ C2] __sys_recvfrom+0x2fb/0x3b0 [ 1292.103510][ C2] ? __pfx___sys_recvfrom+0x10/0x10 [ 1292.103936][ C2] ? __pfx___lock_release+0x10/0x10 [ 1292.104357][ C2] ? do_pselect.constprop.0+0x12b/0x1e0 [ 1292.104810][ C2] ? __pfx_do_pselect.constprop.0+0x10/0x10 [ 1292.105276][ C2] ? restore_fpregs_from_fpstate+0x99/0x160 [ 1292.105743][ C2] ? __pfx_restore_fpregs_from_fpstate+0x10/0x10 [ 1292.106242][ C2] __x64_sys_recvfrom+0xe0/0x1c0 [ 1292.106640][ C2] ? lockdep_hardirqs_on_prepare.part.0+0x1b1/0x370 [ 1292.107143][ C2] do_syscall_64+0xcc/0x1e0 [ 1292.107455][ C2] entry_SYSCALL_64_after_hwframe+0x6f/0x77 [ 1292.107912][ C2] RIP: 0033:0x7f88b94734c0 [ 1292.108233][ 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 [ 1292.109699][ C2] RSP: 002b:00007ffd51b74de8 EFLAGS: 00000246 ORIG_RAX: 000000000000002d [ 1292.110348][ C2] RAX: ffffffffffffffda RBX: 000055deb25aea20 RCX: 00007f88b94734c0 [ 1292.110965][ C2] RDX: 0000000000002000 RSI: 00007ffd51b74e70 RDI: 0000000000000008 [ 1292.111582][ C2] RBP: 00007ffd51b74e70 R08: 0000000000000000 R09: 0000000000000000 [ 1292.112205][ C2] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000008 [ 1292.112824][ C2] R13: 000055deb25aea20 R14: 0000000000000000 R15: 00007ffd51b74e6c [ 1292.113437][ C2] [ 1304.387518][ T4040] ncat (4040) used greatest stack depth: 21352 bytes left [ 1347.126721][ T4039] ncat (4039) used greatest stack depth: 21056 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__->