Re: [PATCH bpf-next v2 2/3] selftests/bpf: Add cookies check for raw_tp fill_link_info test

Jiri Olsa
2025-06-03T12:19:30Z

On Tue, Jun 03, 2025 at 10:26:09AM +0800, Tao Chen wrote:
> Adding tests for getting cookie with fill_link_info for raw_tp.
>
> Signed-off-by: Tao Chen <chen.dylane@linux.dev>

Acked-by: Jiri Olsa <jolsa@kernel.org>

jirka

> ---
> .../selftests/bpf/prog_tests/bpf_cookie.c | 26 ++++++++++++++++++-
> 1 file changed, 25 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 6befa87043..0774ae6c1b 100644
> --- a/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c
> +++ b/tools/testing/selftests/bpf/prog_tests/bpf_cookie.c
> @@ -635,10 +635,29 @@ static void tp_btf_subtest(struct test_bpf_cookie *skel)
> bpf_link__destroy(link);
> }
>
> +static int verify_raw_tp_link_info(int fd, u64 cookie)
> +{
> + struct bpf_link_info info;
> + int err;
> + u32 len = sizeof(info);
> +
> + memset(&info, 0, sizeof(info));
> + err = bpf_link_get_info_by_fd(fd, &info, &len);
> + if (!ASSERT_OK(err, "get_link_info"))
> + return -1;
> +
> + if (!ASSERT_EQ(info.type, BPF_LINK_TYPE_RAW_TRACEPOINT, "link_type"))
> + return -1;
> +
> + ASSERT_EQ(info.raw_tracepoint.cookie, cookie, "raw_tp_cookie");
> +
> + return 0;
> +}
> +
> static void raw_tp_subtest(struct test_bpf_cookie *skel)
> {
> __u64 cookie;
> - int prog_fd, link_fd = -1;
> + int err, prog_fd, link_fd = -1;
> struct bpf_link *link = NULL;
> LIBBPF_OPTS(bpf_raw_tp_opts, raw_tp_opts);
> LIBBPF_OPTS(bpf_raw_tracepoint_opts, opts);
> @@ -656,6 +675,11 @@ static void raw_tp_subtest(struct test_bpf_cookie *skel)
> goto cleanup;
>
> usleep(1); /* trigger */
> +
> + err = verify_raw_tp_link_info(link_fd, cookie);
> + if (!ASSERT_OK(err, "verify_raw_tp_link_info"))
> + goto cleanup;
> +
> close(link_fd); /* detach */
> link_fd = -1;
>
> --
> 2.43.0
>
>