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 ] # TEST: mirred egress flower redirect (skip_hw) [ OK ] # TEST: mirred egress flower mirror (skip_hw) [ OK ] # TEST: mirred egress matchall mirror (skip_hw) [ OK ] [ 1891.710817][T12091] ping (12091) used greatest stack depth: 23352 bytes left # TEST: mirred_egress_to_ingress (skip_hw) [ OK ] # [ 1899.029977][ C2] [ 1899.030144][ C2] ============================================ [ 1899.030480][ C2] WARNING: possible recursive locking detected [ 1899.030820][ C2] 6.8.0-rc1-virtme #1 Not tainted [ 1899.031090][ C2] -------------------------------------------- [ 1899.031425][ C2] ksoftirqd/2/27 is trying to acquire lock: [ 1899.031740][ C2] ffff888007149b70 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x2159/0x29b0 [ 1899.032232][ C2] [ 1899.032232][ C2] but task is already holding lock: [ 1899.032615][ C2] ffff888007148e30 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x2159/0x29b0 [ 1899.033101][ C2] [ 1899.033101][ C2] other info that might help us debug this: [ 1899.033521][ C2] Possible unsafe locking scenario: [ 1899.033521][ C2] [ 1899.033907][ C2] CPU0 [ 1899.034094][ C2] ---- [ 1899.034281][ C2] lock(slock-AF_INET/1); [ 1899.034517][ C2] lock(slock-AF_INET/1); [ 1899.034758][ C2] [ 1899.034758][ C2] *** DEADLOCK *** [ 1899.034758][ C2] [ 1899.035195][ C2] May be due to missing lock nesting notation [ 1899.035195][ C2] [ 1899.035628][ C2] 8 locks held by ksoftirqd/2/27: [ 1899.035896][ C2] #0: ffffffffa0d447e0 (rcu_read_lock){....}-{1:2}, at: process_backlog+0x1ed/0x5e0 [ 1899.036407][ C2] #1: ffffffffa0d447e0 (rcu_read_lock){....}-{1:2}, at: ip_local_deliver_finish+0x1f5/0x450 [ 1899.036953][ C2] #2: ffff888007148e30 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x2159/0x29b0 [ 1899.037466][ C2] #3: ffffffffa0d447e0 (rcu_read_lock){....}-{1:2}, at: __ip_queue_xmit+0x65/0x1910 [ 1899.037973][ C2] #4: ffffffffa0d447e0 (rcu_read_lock){....}-{1:2}, at: ip_finish_output2+0x262/0x18e0 [ 1899.038486][ C2] #5: ffffffffa0d44780 (rcu_read_lock_bh){....}-{1:2}, at: __dev_queue_xmit+0x1c1/0x1ca0 [ 1899.039008][ C2] #6: ffffffffa0d447e0 (rcu_read_lock){....}-{1:2}, at: netif_receive_skb_internal+0x84/0x300 [ 1899.039562][ C2] #7: ffffffffa0d447e0 (rcu_read_lock){....}-{1:2}, at: ip_local_deliver_finish+0x1f5/0x450 [ 1899.040095][ C2] [ 1899.040095][ C2] stack backtrace: [ 1899.040418][ C2] CPU: 2 PID: 27 Comm: ksoftirqd/2 Not tainted 6.8.0-rc1-virtme #1 [ 1899.040843][ C2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 1899.041481][ C2] Call Trace: [ 1899.041657][ C2] [ 1899.041826][ C2] dump_stack_lvl+0x64/0xb0 [ 1899.042075][ C2] validate_chain+0x525/0xa00 [ 1899.042336][ C2] ? __pfx_validate_chain+0x10/0x10 [ 1899.042621][ C2] ? hlock_class+0x4e/0x130 [ 1899.042882][ C2] ? mark_lock+0x38/0x3e0 [ 1899.043126][ C2] __lock_acquire+0xb67/0x1610 [ 1899.043389][ C2] ? lock_downgrade+0x90/0x110 [ 1899.043656][ C2] ? mark_lock+0x38/0x3e0 [ 1899.043899][ C2] lock_acquire.part.0+0xe5/0x330 [ 1899.044182][ C2] ? tcp_v4_rcv+0x2159/0x29b0 [ 1899.044446][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 1899.044755][ C2] ? __pfx_sk_filter_trim_cap+0x10/0x10 [ 1899.045053][ C2] ? lock_acquire+0x1c1/0x220 [ 1899.045313][ C2] ? tcp_v4_rcv+0x2159/0x29b0 [ 1899.045568][ C2] _raw_spin_lock_nested+0x33/0x80 [ 1899.045841][ C2] ? tcp_v4_rcv+0x2159/0x29b0 [ 1899.046099][ C2] tcp_v4_rcv+0x2159/0x29b0 [ 1899.046345][ C2] ? __pfx_tcp_v4_rcv+0x10/0x10 [ 1899.046604][ C2] ? __pfx_raw_v4_input+0x10/0x10 [ 1899.046885][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 1899.047194][ C2] ip_protocol_deliver_rcu+0x93/0x360 [ 1899.047490][ C2] ip_local_deliver_finish+0x2ae/0x450 [ 1899.047781][ C2] ip_local_deliver+0x19d/0x480 [ 1899.048039][ C2] ? __pfx_ip_local_deliver+0x10/0x10 [ 1899.048322][ C2] ? ip_rcv_finish_core.constprop.0+0x522/0x1300 [ 1899.048660][ C2] ip_rcv+0x564/0x740 [ 1899.048880][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 1899.049133][ C2] ? lock_acquire.part.0+0xe5/0x330 [ 1899.049413][ C2] ? netif_receive_skb_internal+0x84/0x300 [ 1899.049729][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 1899.049970][ C2] __netif_receive_skb_one_core+0x166/0x1b0 [ 1899.050285][ C2] ? __pfx___netif_receive_skb_one_core+0x10/0x10 [ 1899.050632][ C2] ? mark_held_locks+0xa5/0xf0 [ 1899.050880][ C2] ? lock_acquire+0x1c1/0x220 [ 1899.051136][ C2] ? netif_receive_skb_internal+0x84/0x300 [ 1899.051452][ C2] netif_receive_skb_internal+0xb0/0x300 [ 1899.051746][ C2] ? __pfx_netif_receive_skb_internal+0x10/0x10 [ 1899.052078][ C2] ? __copy_skb_header+0xaf/0x490 [ 1899.052355][ C2] ? __skb_clone+0x57a/0x760 [ 1899.052599][ C2] netif_receive_skb+0x55/0x280 [ 1899.052865][ C2] tcf_mirred_to_dev+0x444/0xd70 [act_mirred] [ 1899.053200][ C2] ? __pfx_tcf_skbedit_act+0x10/0x10 [act_skbedit] [ 1899.053553][ C2] tcf_mirred_act+0x338/0x780 [act_mirred] [ 1899.053870][ C2] tcf_action_exec.part.0+0x115/0x3d0 [ 1899.054158][ C2] fl_classify+0x4dc/0x650 [cls_flower] [ 1899.054462][ C2] ? __pfx_fl_classify+0x10/0x10 [cls_flower] [ 1899.054789][ C2] ? __pfx_usage_match+0x10/0x10 [ 1899.055068][ C2] ? check_irq_usage+0x27e/0x850 [ 1899.055334][ C2] ? __pfx_check_irq_usage+0x10/0x10 [ 1899.055624][ C2] ? __bfs+0x24a/0x650 [ 1899.055845][ C2] ? __pfx_hlock_conflict+0x10/0x10 [ 1899.056131][ C2] ? __bfs+0x24a/0x650 [ 1899.056352][ C2] ? __pfx_usage_match+0x10/0x10 [ 1899.056629][ C2] ? check_path.constprop.0+0x24/0x50 [ 1899.056928][ C2] ? check_noncircular+0x14e/0x3e0 [ 1899.057211][ C2] ? __pfx_check_noncircular+0x10/0x10 [ 1899.057515][ C2] __tcf_classify+0x32c/0x7d0 [ 1899.057772][ C2] tcf_classify+0x283/0x930 [ 1899.058020][ C2] ? __pfx_tcf_classify+0x10/0x10 [ 1899.058297][ C2] ? lock_acquire.part.0+0xe5/0x330 [ 1899.058574][ C2] ? __dev_queue_xmit+0x1c1/0x1ca0 [ 1899.058848][ C2] tc_run+0x2e4/0x5d0 [ 1899.059074][ C2] ? __pfx_tc_run+0x10/0x10 [ 1899.059326][ C2] ? lock_acquire+0x1c1/0x220 [ 1899.059583][ C2] ? __dev_queue_xmit+0x1c1/0x1ca0 [ 1899.059863][ C2] __dev_queue_xmit+0x8eb/0x1ca0 [ 1899.060137][ C2] ? hlock_class+0x4e/0x130 [ 1899.060386][ C2] ? mark_lock+0x38/0x3e0 [ 1899.060629][ C2] ? __pfx___dev_queue_xmit+0x10/0x10 [ 1899.060930][ C2] ? lockdep_hardirqs_on_prepare.part.0+0x151/0x370 [ 1899.061292][ C2] ? neigh_hh_output+0x348/0x590 [ 1899.061561][ C2] ip_finish_output2+0x786/0x18e0 [ 1899.061831][ C2] ? __pfx_ip_finish_output2+0x10/0x10 [ 1899.062132][ C2] ? __ip_finish_output+0x3dd/0x770 [ 1899.062417][ C2] ip_output+0x16b/0x4f0 [ 1899.062655][ C2] ? __pfx_ip_output+0x10/0x10 [ 1899.062913][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 1899.063226][ C2] ? ip_local_out+0x114/0x3b0 [ 1899.063476][ C2] __ip_queue_xmit+0x672/0x1910 [ 1899.063738][ C2] ? __skb_clone+0x57a/0x760 [ 1899.063996][ C2] __tcp_transmit_skb+0x22b1/0x2d20 [ 1899.064277][ C2] ? __pfx___tcp_transmit_skb+0x10/0x10 [ 1899.064577][ C2] ? tcp_small_queue_check.isra.0+0xe9/0x380 [ 1899.064903][ C2] tcp_write_xmit+0xe42/0x24c0 [ 1899.065172][ C2] ? ipv4_mtu+0x37/0x360 [ 1899.065402][ C2] ? __pfx_tcp_write_xmit+0x10/0x10 [ 1899.065687][ C2] ? __pfx_tcp_current_mss+0x10/0x10 [ 1899.065972][ C2] __tcp_push_pending_frames+0x96/0x320 [ 1899.066272][ C2] tcp_rcv_state_process+0x81e/0x1fd0 [ 1899.066568][ C2] ? tcp_v4_rcv+0x2159/0x29b0 [ 1899.066826][ C2] ? hlock_class+0x4e/0x130 [ 1899.067076][ C2] ? __lock_acquired+0x18a/0x6b0 [ 1899.067335][ C2] ? __pfx_tcp_rcv_state_process+0x10/0x10 [ 1899.067643][ C2] ? __pfx___lock_acquired+0x10/0x10 [ 1899.067923][ C2] ? __pfx_do_raw_spin_trylock+0x10/0x10 [ 1899.068231][ C2] tcp_v4_do_rcv+0x154/0x850 [ 1899.068478][ C2] tcp_v4_rcv+0x235a/0x29b0 [ 1899.068724][ C2] ? __pfx_tcp_v4_rcv+0x10/0x10 [ 1899.068989][ C2] ? __pfx_raw_v4_input+0x10/0x10 [ 1899.069261][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 1899.069568][ C2] ip_protocol_deliver_rcu+0x93/0x360 [ 1899.069856][ C2] ip_local_deliver_finish+0x2ae/0x450 [ 1899.070155][ C2] ip_local_deliver+0x19d/0x480 [ 1899.070417][ C2] ? __pfx_ip_local_deliver+0x10/0x10 [ 1899.070715][ C2] ? ip_rcv_finish_core.constprop.0+0x522/0x1300 [ 1899.071056][ C2] ip_rcv+0x564/0x740 [ 1899.071274][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 1899.071514][ C2] ? lock_acquire.part.0+0xe5/0x330 [ 1899.071788][ C2] ? process_backlog+0x1ed/0x5e0 [ 1899.072062][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 1899.072308][ C2] __netif_receive_skb_one_core+0x166/0x1b0 [ 1899.072632][ C2] ? __pfx___netif_receive_skb_one_core+0x10/0x10 [ 1899.072976][ C2] ? __pfx_do_raw_spin_trylock+0x10/0x10 [ 1899.073289][ C2] ? lock_acquire+0x1c1/0x220 [ 1899.073537][ C2] ? process_backlog+0x1ed/0x5e0 [ 1899.073804][ C2] process_backlog+0xd3/0x5e0 [ 1899.074062][ C2] __napi_poll.constprop.0+0xa5/0x450 [ 1899.074360][ C2] net_rx_action+0x440/0xb40 [ 1899.074611][ C2] ? __pfx_net_rx_action+0x10/0x10 [ 1899.074888][ C2] ? __pfx___schedule+0x10/0x10 [ 1899.075156][ C2] ? __pfx___lock_release+0x10/0x10 [ 1899.075439][ C2] __do_softirq+0x1bc/0x7ff [ 1899.075690][ C2] ? __pfx_run_ksoftirqd+0x10/0x10 [ 1899.075973][ C2] run_ksoftirqd+0x2e/0x60 [ 1899.076219][ C2] smpboot_thread_fn+0x30e/0x840 [ 1899.076486][ C2] ? __pfx_smpboot_thread_fn+0x10/0x10 [ 1899.076778][ C2] ? __pfx_smpboot_thread_fn+0x10/0x10 [ 1899.077076][ C2] kthread+0x292/0x360 [ 1899.077291][ C2] ? __pfx_kthread+0x10/0x10 [ 1899.077536][ C2] ret_from_fork+0x34/0x70 [ 1899.077774][ C2] ? __pfx_kthread+0x10/0x10 [ 1899.078029][ C2] ret_from_fork_asm+0x1b/0x30 [ 1899.078299][ C2] [ 1922.960749][T12140] ncat (12140) used greatest stack depth: 21168 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__->