make -C tools/testing/selftests TARGETS=net/forwarding TEST_PROGS=tc_actioons.sh TEST_GEN_PROGS="" run_tests make: Entering directory '/home/virtme/testing-2/tools/testing/selftests' make[1]: Entering directory '/home/virtme/testing-2/tools/testing/selftests/net/forwarding' make[1]: Nothing to be done for 'all'. make[1]: Leaving directory '/home/virtme/testing-2/tools/testing/selftests/net/forwarding' make[1]: Entering directory '/home/virtme/testing-2/tools/testing/selftests/net/forwarding' TAP version 13 1..1 # timeout set to 10800 # 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 ] [ 1192.644578] tc (18485) used greatest stack depth: 11696 bytes left # TEST: mirred egress matchall mirror (skip_hw) [ OK ] [ 1196.143617] ping (18721) used greatest stack depth: 11512 bytes left # TEST: mirred_egress_to_ingress (skip_hw) [ OK ] # [ 1201.095903] [ 1201.096041] ============================================ [ 1201.096451] WARNING: possible recursive locking detected [ 1201.096855] 6.8.0-rc3-virtme #1 Not tainted [ 1201.097170] -------------------------------------------- [ 1201.097565] perl/18067 is trying to acquire lock: [ 1201.097918] ffff9b74c5020cb0 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0xdb5/0xef0 [ 1201.098525] [ 1201.098525] but task is already holding lock: [ 1201.098980] ffff9b74c50200b0 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0xdb5/0xef0 [ 1201.099569] [ 1201.099569] other info that might help us debug this: [ 1201.100055] Possible unsafe locking scenario: [ 1201.100055] [ 1201.100501] CPU0 [ 1201.100692] ---- [ 1201.100885] lock(slock-AF_INET/1); [ 1201.101160] lock(slock-AF_INET/1); [ 1201.101438] [ 1201.101438] *** DEADLOCK *** [ 1201.101438] [ 1201.101873] May be due to missing lock nesting notation [ 1201.101873] [ 1201.102351] 12 locks held by perl/18067: [ 1201.102646] #0: ffff9b74c247e0a0 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x28/0x60 [ 1201.103303] #1: ffff9b74c247e130 (&tty->atomic_write_lock){+.+.}-{3:3}, at: file_tty_write.constprop.0+0xa5/0x340 [ 1201.104078] #2: ffff9b74c247e2e8 (&tty->termios_rwsem){++++}-{3:3}, at: n_tty_write+0xa4/0x530 [ 1201.104730] #3: ffffb0a5c026f380 (&ldata->output_lock){+.+.}-{3:3}, at: n_tty_write+0x236/0x530 [ 1201.105391] #4: ffffffff95b678c0 (rcu_read_lock){....}-{1:2}, at: process_backlog+0x6f/0x260 [ 1201.106012] #5: ffffffff95b678c0 (rcu_read_lock){....}-{1:2}, at: ip_local_deliver_finish+0x6f/0x180 [ 1201.106672] #6: ffff9b74c50200b0 (slock-AF_INET/1){+.-.}-{2:2}, at: tcp_v4_rcv+0xdb5/0xef0 [ 1201.107258] #7: ffffffff95b678c0 (rcu_read_lock){....}-{1:2}, at: __ip_queue_xmit+0x3f/0x700 [ 1201.107689] #8: ffffffff95b678c0 (rcu_read_lock){....}-{1:2}, at: ip_finish_output2+0xc6/0xa20 [ 1201.108265] #9: ffffffff95b67880 (rcu_read_lock_bh){....}-{1:2}, at: __dev_queue_xmit+0x6e/0x1180 [ 1201.108937] #10: ffffffff95b678c0 (rcu_read_lock){....}-{1:2}, at: netif_receive_skb+0x58/0x2c0 [ 1201.109445] #11: ffffffff95b678c0 (rcu_read_lock){....}-{1:2}, at: ip_local_deliver_finish+0x6f/0x180 [ 1201.110128] [ 1201.110128] stack backtrace: [ 1201.110464] CPU: 3 PID: 18067 Comm: perl Not tainted 6.8.0-rc3-virtme #1 [ 1201.110965] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.3-0-ga6ed6b701f0a-prebuilt.qemu.org 04/01/2014 [ 1201.111805] Call Trace: [ 1201.111998] [ 1201.112162] dump_stack_lvl+0x4b/0x80 [ 1201.112445] __lock_acquire+0x1215/0x1750 [ 1201.112753] ? sk_filter_trim_cap+0x53/0x360 [ 1201.113083] lock_acquire+0xc1/0x2b0 [ 1201.113359] ? tcp_v4_rcv+0xdb5/0xef0 [ 1201.113643] ? sk_filter_trim_cap DETECTED CRASH, lowering timeout +0x11a/0x360 [ 1201.113975] _raw_spin_lock_nested+0x2e/0x40 [ 1201.114301] ? tcp_v4_rcv+0xdb5/0xef0 [ 1201.114582] tcp_v4_rcv+0xdb5/0xef0 [ 1201.114854] ip_protocol_deliver_rcu+0x4b/0x1e0 [ 1201.115193] ip_local_deliver_finish+0xaf/0x180 [ 1201.115530] __netif_receive_skb_one_core+0x8b/0xa0 [ 1201.115900] netif_receive_skb+0x87/0x2c0 [ 1201.116209] tcf_mirred_to_dev+0x1f6/0x410 [act_mirred] [ 1201.116608] tcf_mirred_act+0xee/0x560 [act_mirred] [ 1201.116982] ? tcf_skbedit_act+0x1d6/0x410 [act_skbedit] [ 1201.117290] tcf_action_exec+0xac/0x230 [ 1201.117494] fl_classify+0x20e/0x260 [cls_flower] [ 1201.117813] ? fl_mask_lookup+0x17e/0x5a0 [cls_flower] [ 1201.118185] ? __bfs+0xf3/0x240 [ 1201.118415] ? check_irq_usage+0x19c/0xc40 [ 1201.118725] ? check_path.constprop.0+0x24/0x50 [ 1201.119079] ? check_noncircular+0x81/0x150 [ 1201.119395] ? lock_release+0xbe/0x270 [ 1201.119685] ? __lock_acquire+0xa6e/0x1750 [ 1201.120003] tcf_classify+0x17a/0x540 [ 1201.120290] tc_run+0x9f/0x150 [ 1201.120533] __dev_queue_xmit+0x311/0x1180 [ 1201.120850] ? mark_held_locks+0x49/0x80 [ 1201.121153] ip_finish_output2+0x39f/0xa20 [ 1201.121469] ? __ip_queue_xmit+0x1d5/0x700 [ 1201.121782] __ip_queue_xmit+0x1d5/0x700 [ 1201.122085] __tcp_transmit_skb+0xb65/0xd30 [ 1201.122406] ? mark_held_locks+0x49/0x80 [ 1201.122711] tcp_write_xmit+0x492/0x1400 [ 1201.123013] __tcp_push_pending_frames+0x36/0xc0 [ 1201.123367] tcp_rcv_state_process+0x4d3/0x11f0 [ 1201.123713] ? tcp_v4_rcv+0xdb5/0xef0 [ 1201.123998] ? tcp_v4_do_rcv+0x64/0x360 [ 1201.124293] tcp_v4_do_rcv+0x64/0x360 [ 1201.124578] tcp_v4_rcv+0xe4f/0xef0 [ 1201.124852] ? process_backlog+0x6f/0x260 [ 1201.125159] ip_protocol_deliver_rcu+0x4b/0x1e0 [ 1201.125506] ip_local_deliver_finish+0xaf/0x180 [ 1201.125851] __netif_receive_skb_one_core+0x8b/0xa0 [ 1201.126221] process_backlog+0x7c/0x260 [ 1201.126517] __napi_poll.constprop.0+0x27/0x1e0 [ 1201.126857] net_rx_action+0x2be/0x340 [ 1201.127143] __do_softirq+0xc8/0x37a [ 1201.127432] irq_exit_rcu+0x7f/0xa0 [ 1201.127706] sysvec_apic_timer_interrupt+0x78/0x90 [ 1201.128071] [ 1201.128239] [ 1201.128408] asm_sysvec_apic_timer_interrupt+0x1a/0x20 [ 1201.128812] RIP: 0010:_raw_spin_unlock_irqrestore+0x39/0x50 [ 1201.129231] Code: c7 18 53 48 89 f3 48 8b 74 24 10 e8 81 bc 38 ff 48 89 ef e8 39 ed 38 ff 80 e7 02 74 06 e8 cf 15 46 ff fb 65 ff 0d cf 68 1f 6b <74> 07 5b 5d c3 cc cc cc cc 0f 1f 44 00 00 5b 5d c3 cc cc cc cc 66 [ 1201.130593] RSP: 0018:ffffb0a5c0bdfd18 EFLAGS: 00000286 [ 1201.130988] RAX: 0000000000265d5b RBX: 0000000000000282 RCX: 0000000000000040 [ 1201.131507] RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff94e38671 [ 1201.132010] RBP: ffffffff97002f20 R08: 0000000000000001 R09: 0000000000000001 [ 1201.132530] R10: 0000000000000005 R11: 0000000000000001 R12: 0000000000000001 [ 1201.133057] R13: 0000000000000000 R14: ffff9b74c2684401 R15: ffff9b74c2370000 [ 1201.133582] ? _raw_spin_unlock_irqrestore+0x31/0x50 [ 1201.133956] ? _raw_spin_unlock_irqrestore+0x31/0x50 [ 1201.134332] uart_write+0x103/0x1d0 [ 1201.134606] n_tty_write+0x1a6/0x530 [ 1201.134885] ? __pfx_woken_wake_function+0x10/0x10 [ 1201.135246] file_tty_write.constprop.0+0x164/0x340 [ 1201.135623] vfs_write+0x38d/0x550 [ 1201.135891] ksys_write+0x69/0xf0 [ 1201.136149] do_syscall_64+0xc9/0x1e0 [ 1201.136434] entry_SYSCALL_64_after_hwframe+0x6f/0x77 [ 1201.136821] RIP: 0033:0x7fba07bd2957 [ 1201.137099] 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 [ 1201.138469] RSP: 002b:00007ffe67b2bc38 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 [ 1201.139052] RAX: ffffffffffffffda RBX: 0000563400faed80 RCX: 00007fba07bd2957 [ 1201.139577] RDX: 0000000000000001 RSI: 0000563400faed80 RDI: 0000000000000001 [ 1201.140112] RBP: 0000000000000001 R08: 0000000000000000 R09: 0000000000002000 [ 1201.140643] R10: 0000000000000001 R11: 0000000000000246 R12: 0000563400f9b500 [ 1201.141175] R13: 0000563400f7c2a0 R14: 0000000000000001 R15: 0000563400f9b500 [ 1201.141705] [ 1228.281605] ncat (18856) used greatest stack depth: 10680 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-2/tools/testing/selftests/net/forwarding' make: Leaving directory '/home/virtme/testing-2/tools/testing/selftests' xx__-> echo $? 0 xx__->