selftests/bpf: Mount debugfs in setns_by_fd
authorStanislav Fomichev <sdf@google.com>
Wed, 23 Nov 2022 20:08:29 +0000 (12:08 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Wed, 23 Nov 2022 20:38:16 +0000 (12:38 -0800)
Jiri reports broken test_progs after recent commit 68f8e3d4b916
("selftests/bpf: Make sure zero-len skbs aren't redirectable").
Apparently we don't remount debugfs when we switch back networking namespace.
Let's explicitly mount /sys/kernel/debug.

0: https://lore.kernel.org/bpf/63b85917-a2ea-8e35-620c-808560910819@meta.com/T/#ma66ca9c92e99eee0a25e40f422489b26ee0171c1

Fixes: a30338840fa5 ("selftests/bpf: Move open_netns() and close_netns() into network_helpers.c")
Reported-by: Jiri Olsa <olsajiri@gmail.com>
Signed-off-by: Stanislav Fomichev <sdf@google.com>
Link: https://lore.kernel.org/r/20221123200829.2226254-1-sdf@google.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/network_helpers.c
tools/testing/selftests/bpf/prog_tests/empty_skb.c
tools/testing/selftests/bpf/prog_tests/xdp_do_redirect.c
tools/testing/selftests/bpf/prog_tests/xdp_synproxy.c

index bec15558fd938531c972574ddb61ff7a4ce557c8..1f37adff7632c87ef76ab9471af1dcc9ffa187aa 100644 (file)
@@ -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;
 }
 
index 32dd731e9070caa821783b0944903e14c51d16a7..0613f3bb8b5e4e1ef765a515871428465f487624 100644 (file)
@@ -9,7 +9,7 @@
                goto out; \
 })
 
-void test_empty_skb(void)
+void serial_test_empty_skb(void)
 {
        LIBBPF_OPTS(bpf_test_run_opts, tattr);
        struct empty_skb *bpf_obj = NULL;
index a50971c6cf4a5d4f8efdae804199c51142ca8170..9ac6f6a268db2c8330b37361adcf61262ac52e2e 100644 (file)
@@ -85,7 +85,7 @@ static void test_max_pkt_size(int fd)
 }
 
 #define NUM_PKTS 10000
-void test_xdp_do_redirect(void)
+void serial_test_xdp_do_redirect(void)
 {
        int err, xdp_prog_fd, tc_prog_fd, ifindex_src, ifindex_dst;
        char data[sizeof(pkt_udp) + sizeof(__u32)];
index c72083885b6d717dc6bcba5cbe19d1e588b2bd78..13daa3746064afa2329ebc2497316cfd329b3ac0 100644 (file)
@@ -174,7 +174,7 @@ out:
        system("ip netns del synproxy");
 }
 
-void test_xdp_synproxy(void)
+void serial_test_xdp_synproxy(void)
 {
        if (test__start_subtest("xdp"))
                test_synproxy(true);