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 ] # TEST: mirred_egress_to_ingress (skip_hw) [ OK ] # [ 1950.413921][ C2] [ 1950.414095][ C2] ============================================ [ 1950.414444][ C2] WARNING: possible recursive locking detected [ 1950.414789][ C2] 6.8.0-rc1-virtme #1 Not tainted [ 1950.415083][ C2] -------------------------------------------- [ 1950.415424][ C2] ncat/5070 is trying to acquire lock: [ 1950.415735][ C2] ffff8880082c9b70 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x2159/0x29b0 [ 1950.416233][ C2] [ 1950.416233][ C2] but task is already holding lock: [ 1950.416638][ C2] ffff8880082c8e30 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x2159/0x29b0 [ 1950.417117][ C2] [ 1950.417117][ C2] other info that might help us debug this: [ 1950.417569][ C2] Possible unsafe locking scenario: [ 1950.417569][ C2] [ 1950.417957][ C2] CPU0 [ 1950.418137][ C2] ---- [ 1950.418324][ C2] lock(slock-AF_INET/1); [ 1950.418585][ C2] lock(slock-AF_INET/1); [ 1950.418834][ C2] [ 1950.418834][ C2] *** DEADLOCK *** [ 1950.418834][ C2] [ 1950.419285][ C2] May be due to missing lock nesting notation [ 1950.419285][ C2] [ 1950.419721][ C2] 8 locks held by ncat/5070: [ 1950.419982][ C2] #0: ffffffff8e7447e0 (rcu_read_lock){....}-{1:2}, at: process_backlog+0x1ed/0x5e0 [ 1950.420500][ C2] #1: ffffffff8e7447e0 (rcu_read_lock){....}-{1:2}, at: ip_local_deliver_finish+0x1f5/0x450 [ 1950.421044][ C2] #2: ffff8880082c8e30 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0x2159/0x29b0 [ 1950.421567][ C2] #3: ffffffff8e7447e0 (rcu_read_lock){....}-{1:2}, at: __ip_queue_xmit+0x65/0x1910 [ 1950.422077][ C2] #4: ffffffff8e7447e0 (rcu_read_lock){....}-{1:2}, at: ip_finish_output2+0x262/0x18e0 [ 1950.422620][ C2] #5: ffffffff8e744780 (rcu_read_lock_bh){....}-{1:2}, at: __dev_queue_xmit+0x1c1/0x1ca0 [ 1950.423158][ C2] #6: ffffffff8e7447e0 (rcu_read_lock){....}-{1:2}, at: netif_receive_skb_internal+0x84/0x300 [ 1950.423723][ C2] #7: ffffffff8e7447e0 (rcu_read_lock){....}-{1:2}, at: ip_local_deliver_finish+0x1f5/0x450 [ 1950.424265][ C2] [ 1950.424265][ C2] stack backtrace: [ 1950.424576][ C2] CPU: 2 PID: 5070 Comm: ncat Not tainted 6.8.0-rc1-virtme #1 [ 1950.424993][ C2] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 1950.425651][ C2] Call Trace: [ 1950.425830][ C2] [ 1950.425993][ C2] dump_stack_lvl+0x64/0xb0 [ 1950.426266][ C2] validate_chain+0x525/0xa00 [ 1950.426524][ C2] ? __pfx_validate_chain+0x10/0x10 [ 1950.426807][ C2] ? hlock_class+0x4e/0x130 [ 1950.427074][ C2] ? mark_lock+0x38/0x3e0 [ 1950.427313][ C2] __lock_acquire+0xb67/0x1610 [ 1950.427579][ C2] ? lock_downgrade+0x90/0x110 [ 1950.427856][ C2] ? mark_lock+0x38/0x3e0 [ 1950.428095][ C2] lock_acquire.part.0+0xe5/0x330 [ 1950.428373][ C2] ? tcp_v4_rcv+0x2159/0x29b0 [ 1950.428646][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 1950.428955][ C2] ? __pfx_sk_filter_trim_cap+0x10/0x10 [ 1950.429256][ C2] ? lock_acquire+0x1c1/0x220 [ 1950.429531][ C2] ? tcp_v4_rcv+0x2159/0x29b0 [ 1950.429784][ C2] _raw_spin_lock_nested+0x33/0x80 [ 1950.430063][ C2] ? tcp_v4_rcv+0x2159/0x29b0 [ 1950.430322][ C2] tcp_v4_rcv+0x2159/0x29b0 [ 1950.430589][ C2] ? __pfx_tcp_v4_rcv+0x10/0x10 [ 1950.430843][ C2] ? __pfx_raw_v4_input+0x10/0x10 [ 1950.431114][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 1950.431427][ C2] ip_protocol_deliver_rcu+0x93/0x360 [ 1950.431739][ C2] ip_local_deliver_finish+0x2ae/0x450 [ 1950.432032][ C2] ip_local_deliver+0x19d/0x480 [ 1950.432302][ C2] ? __pfx_ip_local_deliver+0x10/0x10 [ 1950.432618][ C2] ? ip_rcv_finish_core.constprop.0+0x522/0x1300 [ 1950.432957][ C2] ip_rcv+0x564/0x740 [ 1950.433184][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 1950.433452][ C2] ? lock_acquire.part.0+0xe5/0x330 [ 1950.433729][ C2] ? netif_receive_skb_internal+0x84/0x300 [ 1950.434048][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 1950.434312][ C2] __netif_receive_skb_one_core+0x166/0x1b0 [ 1950.434633][ C2] ? __pfx___netif_receive_skb_one_core+0x10/0x10 [ 1950.434997][ C2] ? mark_held_locks+0xa5/0xf0 [ 1950.435273][ C2] ? lock_acquire+0x1c1/0x220 [ 1950.435535][ C2] ? netif_receive_skb_internal+0x84/0x300 [ 1950.435852][ C2] netif_receive_skb_internal+0xb0/0x300 [ 1950.436169][ C2] ? __pfx_netif_receive_skb_internal+0x10/0x10 [ 1950.436506][ C2] ? __copy_skb_header+0xaf/0x490 [ 1950.436787][ C2] ? __skb_clone+0x57a/0x760 [ 1950.437067][ C2] netif_receive_skb+0x55/0x280 [ 1950.437330][ C2] tcf_mirred_to_dev+0x444/0xd70 [act_mirred] [ 1950.437658][ C2] ? __pfx_tcf_skbedit_act+0x10/0x10 [act_skbedit] [ 1950.438017][ C2] tcf_mirred_act+0x338/0x780 [act_mirred] [ 1950.438332][ C2] tcf_action_exec.part.0+0x115/0x3d0 [ 1950.438626][ C2] fl_classify+0x4dc/0x650 [cls_flower] [ 1950.438950][ C2] ? __pfx_fl_classify+0x10/0x10 [cls_flower] [ 1950.439285][ C2] ? __pfx_usage_match+0x10/0x10 [ 1950.439566][ C2] ? check_irq_usage+0x27e/0x850 [ 1950.439832][ C2] ? __pfx_check_irq_usage+0x10/0x10 [ 1950.440117][ C2] ? __bfs+0x24a/0x650 [ 1950.440378][ C2] ? __pfx_hlock_conflict+0x10/0x10 [ 1950.440668][ C2] ? hlock_class+0x4e/0x130 [ 1950.440911][ C2] ? check_path.constprop.0+0x24/0x50 [ 1950.441200][ C2] ? check_noncircular+0x14e/0x3e0 [ 1950.441472][ C2] ? __pfx_check_noncircular+0x10/0x10 [ 1950.441779][ C2] __tcf_classify+0x32c/0x7d0 [ 1950.442068][ C2] tcf_classify+0x283/0x930 [ 1950.442316][ C2] ? __pfx_tcf_classify+0x10/0x10 [ 1950.442589][ C2] ? lock_acquire.part.0+0xe5/0x330 [ 1950.442882][ C2] ? __dev_queue_xmit+0x1c1/0x1ca0 [ 1950.443158][ C2] tc_run+0x2e4/0x5d0 [ 1950.443377][ C2] ? __pfx_tc_run+0x10/0x10 [ 1950.443643][ C2] ? lock_acquire+0x1c1/0x220 [ 1950.443896][ C2] ? __dev_queue_xmit+0x1c1/0x1ca0 [ 1950.444174][ C2] ? __dev_queue_xmit+0x1c1/0x1ca0 [ 1950.444452][ C2] __dev_queue_xmit+0x8eb/0x1ca0 [ 1950.444737][ C2] ? mark_lock+0x38/0x3e0 [ 1950.444996][ C2] ? mark_held_locks+0xa5/0xf0 [ 1950.445259][ C2] ? __pfx___dev_queue_xmit+0x10/0x10 [ 1950.445565][ C2] ? neigh_hh_output+0x348/0x590 [ 1950.445841][ C2] ? vrf_ip_local_out+0x781/0x860 [vrf] [ 1950.446168][ C2] ip_finish_output2+0x786/0x18e0 [ 1950.446447][ C2] ? __pfx_ip_finish_output2+0x10/0x10 [ 1950.446749][ C2] ? __ip_finish_output+0x3dd/0x770 [ 1950.447046][ C2] ip_output+0x16b/0x4f0 [ 1950.447276][ C2] ? hlock_class+0x4e/0x130 [ 1950.447530][ C2] ? __pfx_ip_output+0x10/0x10 [ 1950.447809][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 1950.448116][ C2] ? ip_local_out+0x114/0x3b0 [ 1950.448368][ C2] __ip_queue_xmit+0x672/0x1910 [ 1950.448647][ C2] ? __skb_clone+0x57a/0x760 [ 1950.448892][ C2] __tcp_transmit_skb+0x22b1/0x2d20 [ 1950.449176][ C2] ? __pfx___tcp_transmit_skb+0x10/0x10 [ 1950.449473][ C2] ? tcp_small_queue_check.isra.0+0xe9/0x380 [ 1950.449813][ C2] tcp_write_xmit+0xe42/0x24c0 [ 1950.450075][ C2] ? ipv4_mtu+0x37/0x360 [ 1950.450309][ C2] ? __pfx_tcp_write_xmit+0x10/0x10 [ 1950.450622][ C2] ? __pfx_tcp_current_mss+0x10/0x10 [ 1950.450910][ C2] __tcp_push_pending_frames+0x96/0x320 [ 1950.451206][ C2] tcp_rcv_state_process+0x81e/0x1fd0 [ 1950.451524][ C2] ? tcp_v4_rcv+0x2159/0x29b0 [ 1950.451772][ C2] ? hlock_class+0x4e/0x130 [ 1950.452017][ C2] ? __lock_acquired+0x18a/0x6b0 [ 1950.452291][ C2] ? __pfx_tcp_rcv_state_process+0x10/0x10 [ 1950.452627][ C2] ? __pfx___lock_acquired+0x10/0x10 [ 1950.452923][ C2] ? __pfx_do_raw_spin_trylock+0x10/0x10 [ 1950.453219][ C2] tcp_v4_do_rcv+0x154/0x850 [ 1950.453476][ C2] tcp_v4_rcv+0x235a/0x29b0 [ 1950.453732][ C2] ? __pfx_tcp_v4_rcv+0x10/0x10 [ 1950.454013][ C2] ? __pfx_raw_v4_input+0x10/0x10 [ 1950.454287][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 1950.454597][ C2] ip_protocol_deliver_rcu+0x93/0x360 [ 1950.454952][ C2] ip_local_deliver_finish+0x2ae/0x450 [ 1950.455249][ C2] ip_local_deliver+0x19d/0x480 [ 1950.455518][ C2] ? __pfx_ip_local_deliver+0x10/0x10 [ 1950.455827][ C2] ? ip_rcv_finish_core.constprop.0+0x522/0x1300 [ 1950.456168][ C2] ip_rcv+0x564/0x740 [ 1950.456391][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 1950.456661][ C2] ? lock_acquire.part.0+0xe5/0x330 [ 1950.456942][ C2] ? process_backlog+0x1ed/0x5e0 [ 1950.457218][ C2] ? __pfx_ip_rcv+0x10/0x10 [ 1950.457474][ C2] __netif_receive_skb_one_core+0x166/0x1b0 [ 1950.457783][ C2] ? __pfx___netif_receive_skb_one_core+0x10/0x10 [ 1950.458124][ C2] ? __pfx_do_raw_spin_trylock+0x10/0x10 [ 1950.458432][ C2] ? lock_acquire+0x1c1/0x220 [ 1950.458700][ C2] ? process_backlog+0x1ed/0x5e0 [ 1950.458982][ C2] process_backlog+0xd3/0x5e0 [ 1950.459246][ C2] __napi_poll.constprop.0+0xa5/0x450 [ 1950.459555][ C2] net_rx_action+0x440/0xb40 [ 1950.459806][ C2] ? __pfx_net_rx_action+0x10/0x10 [ 1950.460091][ C2] ? kvm_clock_get_cycles+0x18/0x30 [ 1950.460402][ C2] ? ktime_get+0x70/0x190 [ 1950.460635][ C2] ? hrtimer_interrupt+0x30e/0x770 [ 1950.460917][ C2] ? __pfx_lapic_next_deadline+0x10/0x10 [ 1950.461236][ C2] ? clockevents_program_event+0x1ed/0x300 [ 1950.461555][ C2] __do_softirq+0x1bc/0x7ff [ 1950.461805][ C2] irq_exit_rcu+0x98/0xc0 [ 1950.462060][ C2] sysvec_apic_timer_interrupt+0x75/0x80 [ 1950.462362][ C2] [ 1950.462531][ C2] [ 1950.462711][ C2] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 1950.463046][ C2] RIP: 0010:finish_task_switch.isra.0+0x21f/0x8b0 [ 1950.463401][ C2] Code: 89 ff 48 c7 03 00 00 00 00 e8 bd c9 63 02 4d 85 e4 75 ba 4c 89 ff e8 50 a5 63 02 e8 bb e1 2c 00 fb 65 48 8b 1c 25 c0 b6 1f 00 <66> 90 48 83 7d d0 00 74 56 65 48 8b 1c 25 c0 b6 1f 00 48 8d bb e8 [ 1950.464421][ C2] RSP: 0018:ffffc900001afa48 EFLAGS: 00000206 [ 1950.464749][ C2] RAX: 00000000000b744b RBX: ffff888006308040 RCX: 1ffffffff1e1b739 [ 1950.465190][ C2] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff8ae3e8b5 [ 1950.465611][ C2] RBP: ffffc900001afa88 R08: 0000000000000001 R09: fffffbfff1e1bdc2 [ 1950.466038][ C2] R10: ffffffff8f0dee17 R11: ffff888035bfc348 R12: ffff888035bfc198 [ 1950.466478][ C2] R13: ffff888001d0de00 R14: 0000000000000003 R15: ffff888035bfc180 [ 1950.466897][ C2] ? finish_task_switch.isra.0+0x215/0x8b0 [ 1950.467210][ C2] ? finish_task_switch.isra.0+0x215/0x8b0 [ 1950.467535][ C2] ? __switch_to+0x5df/0xfa0 [ 1950.467787][ C2] __schedule+0x70d/0x1ac0 [ 1950.468030][ C2] ? __pfx___schedule+0x10/0x10 [ 1950.468322][ C2] ? __pfx_lock_acquire.part.0+0x10/0x10 [ 1950.468623][ C2] ? schedule+0x1fe/0x280 [ 1950.468866][ C2] schedule+0xeb/0x280 [ 1950.469109][ C2] pipe_write+0xb3b/0x1840 [ 1950.469355][ C2] ? hlock_class+0x4e/0x130 [ 1950.469597][ C2] ? __pfx_pipe_write+0x10/0x10 [ 1950.469873][ C2] ? __mark_inode_dirty+0x6f5/0x900 [ 1950.470167][ C2] ? __pfx_autoremove_wake_function+0x10/0x10 [ 1950.470493][ C2] ? __up_write+0x190/0x520 [ 1950.470759][ C2] vfs_write+0xac4/0x10a0 [ 1950.471001][ C2] ? __pfx_vfs_write+0x10/0x10 [ 1950.471262][ C2] ? __fget_light+0x54/0x1e0 [ 1950.471529][ C2] ksys_write+0x17a/0x1e0 [ 1950.471765][ C2] ? __pfx_ksys_write+0x10/0x10 [ 1950.472035][ C2] do_syscall_64+0xcc/0x1e0 [ 1950.472315][ C2] entry_SYSCALL_64_after_hwframe+0x6f/0x77 [ 1950.472636][ C2] RIP: 0033:0x7f66aecf6957 [ 1950.472889][ C2] Code: 0b 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 51 c3 48 83 ec 28 48 89 54 24 18 48 89 74 24 [ 1950.473924][ C2] RSP: 002b:00007ffc7ac58e78 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ 1950.474361][ C2] RAX: ffffffffffffffda RBX: 00005567d90bea20 RCX: 00007f66aecf6957 [ 1950.474780][ C2] RDX: 0000000000002000 RSI: 00007ffc7ac58e90 RDI: 0000000000000001 [ 1950.475216][ C2] RBP: 0000000000000008 R08: 0000000000000000 R09: 0000000000000000 [ 1950.475642][ C2] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000002000 [ 1950.476084][ C2] R13: 00007ffc7ac58e90 R14: 0000000000000000 R15: 00007ffc7ac58e8c [ 1950.476512][ C2] [ 1969.182424][ T5071] ncat (5071) 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__->