Re: [PATCH bpf-next 2/2] selftests/bpf: Add test to access const void pointer argument in tracing program

From: Jiri Olsa
Date: Mon Apr 14 2025 - 06:35:35 EST


On Sun, Apr 13, 2025 at 01:06:26AM +0800, KaFai Wan wrote:
> Adding verifier test for accessing const void pointer argument in
> tracing programs.
>
> The test program loads 2nd argument of kfree tp_btf which is
> const void pointer and checks that verifier allows that.
>
> Signed-off-by: KaFai Wan <kafai.wan@xxxxxxxxxxx>
> ---
> .../selftests/bpf/progs/verifier_btf_ctx_access.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/tools/testing/selftests/bpf/progs/verifier_btf_ctx_access.c b/tools/testing/selftests/bpf/progs/verifier_btf_ctx_access.c
> index 28b939572cda..a6cec7f73dcd 100644
> --- a/tools/testing/selftests/bpf/progs/verifier_btf_ctx_access.c
> +++ b/tools/testing/selftests/bpf/progs/verifier_btf_ctx_access.c
> @@ -65,4 +65,13 @@ __naked void ctx_access_u32_pointer_reject_8(void)
> " ::: __clobber_all);
> }
>
> +SEC("tp_btf/kfree")
> +__description("btf_ctx_access const void pointer accept")
> +int ctx_access_const_void_pointer_accept(void)
> +{
> + /* load 2nd argument value (const void pointer) */
> + asm volatile ("r2 = *(u64 *)(r1 + 8); ");

I think we should follow formatting of other tests in the file,
a do smth like:

asm volatile (" \
r2 = *(u64 *)(r1 + 8); "); /* load 2nd argument value (const void pointer) */\
...

thanks,
jirka


> + return 0;
> +}
> +
> char _license[] SEC("license") = "GPL";
> --
> 2.43.0
>