Re: [PATCH 1/2] selftests/bpf: bpf_cookie: skip kprobe_multi tests without bpf_testmod
From: Alexei Starovoitov
Date: Fri Feb 27 2026 - 13:21:24 EST
On Fri, Feb 27, 2026 at 8:40 AM Sun Jian <sun.jian.kdev@xxxxxxxxx> wrote:
>
> 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 <sun.jian.kdev@xxxxxxxxx>
> ---
> tools/testing/selftests/bpf/prog_tests/bpf_cookie.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c b/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c
> index 75f4dff7d042..50f5e11e6e65 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;
> @@ -451,7 +461,7 @@ static void pe_subtest(struct test_bpf_cookie *skel)
> attr.type = PERF_TYPE_SOFTWARE;
> attr.config = PERF_COUNT_SW_CPU_CLOCK;
> attr.sample_period = 100000;
> - pfd = syscall(__NR_perf_event_open, &attr, -1, 0, -1, PERF_FLAG_FD_CLOEXEC);
> + pfd = syscall(__NR_perf_event_open, &attr, 0, -1, -1, PERF_FLAG_FD_CLOEXEC);
This part is not explained in the commit log.
pw-bot: cr