The kprobe_multi subtests rely on bpf_testmod fentry ksyms.

When bpf_testmod isn't available, libbpf fails to resolve
bpf_testmod_fentry_test* and skeleton load fails with -ESRCH, causing
false failures.

Skip these subtests when env.has_testmod is false.

Signed-off-by: Sun Jian <[email protected]>

---
Changes in v2:

No functional change.

Drop the unrelated perf_event_open() argument change from this patch
(moved to patch 2/2).

v1: 
<https://lore.kernel.org/lkml/[email protected]/>
---
 tools/testing/selftests/bpf/prog_tests/bpf_cookie.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c 
b/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c
index 75f4dff7d042..b7643a5bf7ad 100644
--- a/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c
+++ b/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c
@@ -105,6 +105,11 @@ static void kprobe_multi_link_api_subtest(void)
        unsigned long long addrs[8];
        __u64 cookies[8];
 
+       if (!env.has_testmod) {
+               test__skip();
+               return;
+       }
+
        if (!ASSERT_OK(load_kallsyms(), "load_kallsyms"))
                goto cleanup;
 
@@ -192,6 +197,11 @@ static void kprobe_multi_attach_api_subtest(void)
        };
        __u64 cookies[8];
 
+       if (!env.has_testmod) {
+               test__skip();
+               return;
+       }
+
        skel = kprobe_multi__open_and_load();
        if (!ASSERT_OK_PTR(skel, "fentry_raw_skel_load"))
                goto cleanup;
-- 
2.43.0


Reply via email to