On Wed, Nov 23, 2022 at 11:07 AM Yonghong Song <yhs@xxxxxxxx> wrote: > > > > On 11/23/22 9:17 AM, sdf@xxxxxxxxxx wrote: > > On 11/23, Yonghong Song wrote: > > > > > >> On 11/23/22 4:23 AM, Jiri Olsa wrote: > >> > On Mon, Nov 21, 2022 at 10:03:40AM -0800, Stanislav Fomichev wrote: > >> > > LWT_XMIT to test L3 case, TC to test L2 case. > >> > > > >> > > v2: > >> > > - s/veth_ifindex/ipip_ifindex/ in two places (Martin) > >> > > - add comment about which condition triggers the rejection (Martin) > >> > > > >> > > Signed-off-by: Stanislav Fomichev <sdf@xxxxxxxxxx> > >> > > >> > hi, > >> > I'm getting selftest fails and it looks like it's because of this test: > >> > > >> > [root@qemu bpf]# ./test_progs -n 62,98 > >> > #62 empty_skb:OK > >> > execute_one_variant:PASS:skel_open 0 nsec > >> > execute_one_variant:PASS:my_pid_map_update 0 nsec > >> > libbpf: failed to determine tracepoint 'raw_syscalls/sys_enter' > >> perf event ID: No such file or directory > >> > libbpf: prog 'handle_legacy': failed to create tracepoint > >> 'raw_syscalls/sys_enter' perf event: No such file or directory > >> > libbpf: prog 'handle_legacy': failed to auto-attach: -2 > >> > execute_one_variant:FAIL:skel_attach unexpected error: -2 (errno 2) > >> > test_legacy_printk:FAIL:legacy_case unexpected error: -2 (errno 2) > >> > execute_one_variant:PASS:skel_open 0 nsec > >> > libbpf: failed to determine tracepoint 'raw_syscalls/sys_enter' > >> perf event ID: No such file or directory > >> > libbpf: prog 'handle_modern': failed to create tracepoint > >> 'raw_syscalls/sys_enter' perf event: No such file or directory > >> > libbpf: prog 'handle_modern': failed to auto-attach: -2 > >> > execute_one_variant:FAIL:skel_attach unexpected error: -2 (errno 2) > >> > #98 legacy_printk:FAIL > >> > > >> > All error logs: > >> > execute_one_variant:PASS:skel_open 0 nsec > >> > execute_one_variant:PASS:my_pid_map_update 0 nsec > >> > libbpf: failed to determine tracepoint 'raw_syscalls/sys_enter' > >> perf event ID: No such file or directory > >> > libbpf: prog 'handle_legacy': failed to create tracepoint > >> 'raw_syscalls/sys_enter' perf event: No such file or directory > >> > libbpf: prog 'handle_legacy': failed to auto-attach: -2 > >> > execute_one_variant:FAIL:skel_attach unexpected error: -2 (errno 2) > >> > test_legacy_printk:FAIL:legacy_case unexpected error: -2 (errno 2) > >> > execute_one_variant:PASS:skel_open 0 nsec > >> > libbpf: failed to determine tracepoint 'raw_syscalls/sys_enter' > >> perf event ID: No such file or directory > >> > libbpf: prog 'handle_modern': failed to create tracepoint > >> 'raw_syscalls/sys_enter' perf event: No such file or directory > >> > libbpf: prog 'handle_modern': failed to auto-attach: -2 > >> > execute_one_variant:FAIL:skel_attach unexpected error: -2 (errno 2) > >> > #98 legacy_printk:FAIL > >> > Summary: 1/0 PASSED, 0 SKIPPED, 1 FAILED > >> > > >> > when I run separately it passes: > >> > > >> > [root@qemu bpf]# ./test_progs -n 98 > >> > #98 legacy_printk:OK > >> > Summary: 1/0 PASSED, 0 SKIPPED, 0 FAILED > >> > > >> > > >> > it seems that the open_netns/close_netns does not work properly, > >> > and screw up access to tracefs for following tests > >> > > >> > if I comment out all the umounts in setns_by_fd, it does not fail > > > >> Agreed with the above observations. > >> With the current bpf-next, I can easily hit the above perf event ID > >> issue. > > > >> But if I backout the following two patches: > >> 68f8e3d4b916531ea3bb8b83e35138cf78f2fce5 selftests/bpf: Make sure > >> zero-len > >> skbs aren't redirectable > >> 114039b342014680911c35bd6b72624180fd669a bpf: Move skb->len == 0 > >> checks into > >> __bpf_redirect > > > > > >> and run a few times with './test_progs -j' and I didn't hit any issues. > > > > My guess would be that we need to remount debugfs in setns_by_fd? > > > > diff --git a/tools/testing/selftests/bpf/network_helpers.c > > b/tools/testing/selftests/bpf/network_helpers.c > > index bec15558fd93..1f37adff7632 100644 > > --- a/tools/testing/selftests/bpf/network_helpers.c > > +++ b/tools/testing/selftests/bpf/network_helpers.c > > @@ -426,6 +426,10 @@ static int setns_by_fd(int nsfd) > > if (!ASSERT_OK(err, "mount /sys/fs/bpf")) > > return err; > > > > + err = mount("debugfs", "/sys/kernel/debug", "debugfs", 0, NULL); > > + if (!ASSERT_OK(err, "mount /sys/kernel/debug")) > > + return err; > > + > > return 0; > > } > > Ya, this does fix the problem. Could you craft a patch for this? Sure, give me a second..