Skip to content

Commit

Permalink
selftests/bpf: Add a test for kprobe multi with unique_match
Browse files Browse the repository at this point in the history
Add a kprobe multi subtest to test kprobe multi unique_match option.

Signed-off-by: Yonghong Song <[email protected]>
  • Loading branch information
Yonghong Song authored and Kernel Patches Daemon committed Jan 10, 2025
1 parent 51a92a4 commit 7cae19b
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions tools/testing/selftests/bpf/prog_tests/kprobe_multi_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -397,6 +397,31 @@ static void test_session_cookie_skel_api(void)
kprobe_multi_session_cookie__destroy(skel);
}

static void test_unique_match(void)
{
LIBBPF_OPTS(bpf_kprobe_multi_opts, opts);
struct kprobe_multi *skel = NULL;
struct bpf_link *link = NULL;

skel = kprobe_multi__open_and_load();
if (!ASSERT_OK_PTR(skel, "kprobe_multi__open_and_load"))
return;

opts.unique_match = true;
skel->bss->pid = getpid();
link = bpf_program__attach_kprobe_multi_opts(skel->progs.test_kprobe_manual,
"bpf_fentry_test*", &opts);
if (!ASSERT_ERR_PTR(link, "bpf_program__attach_kprobe_multi_opts"))
bpf_link__destroy(link);

link = bpf_program__attach_kprobe_multi_opts(skel->progs.test_kprobe_manual,
"bpf_fentry_test8*", &opts);
if (ASSERT_OK_PTR(link, "bpf_program__attach_kprobe_multi_opts"))
bpf_link__destroy(link);

kprobe_multi__destroy(skel);
}

static size_t symbol_hash(long key, void *ctx __maybe_unused)
{
return str_hash((const char *) key);
Expand Down Expand Up @@ -765,5 +790,7 @@ void test_kprobe_multi_test(void)
test_session_skel_api();
if (test__start_subtest("session_cookie"))
test_session_cookie_skel_api();
if (test__start_subtest("unique_match"))
test_unique_match();
RUN_TESTS(kprobe_multi_verifier);
}

0 comments on commit 7cae19b

Please sign in to comment.