Re: [PATCH bpf-next v4 06/12] bpf: selftests: Fix bpf_session_cookie() kfunc prototype

From: Jiri Olsa
Date: Mon Jun 10 2024 - 09:04:42 EST


On Sat, Jun 08, 2024 at 03:16:02PM -0600, Daniel Xu wrote:
> The prototype defined in bpf_kfuncs.h was not in line with how the
> actual kfunc was defined. This causes compilation errors when kfunc
> prototypes are generated from BTF.
>
> Fix by aligning with actual kfunc definition.
>
> Signed-off-by: Daniel Xu <dxu@xxxxxxxxx>
> ---
> tools/testing/selftests/bpf/bpf_kfuncs.h | 2 +-
> tools/testing/selftests/bpf/progs/kprobe_multi_session_cookie.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/bpf_kfuncs.h b/tools/testing/selftests/bpf/bpf_kfuncs.h
> index be91a6919315..3b6675ab4086 100644
> --- a/tools/testing/selftests/bpf/bpf_kfuncs.h
> +++ b/tools/testing/selftests/bpf/bpf_kfuncs.h
> @@ -77,5 +77,5 @@ extern int bpf_verify_pkcs7_signature(struct bpf_dynptr *data_ptr,
> struct bpf_key *trusted_keyring) __ksym;
>
> extern bool bpf_session_is_return(void) __ksym __weak;
> -extern long *bpf_session_cookie(void) __ksym __weak;
> +extern __u64 *bpf_session_cookie(void) __ksym __weak;

the original intent was to expose long instead of __u64 :-\

could we rather change the bpf_session_cookie function to return long?
should be just return value type change

thanks,
jirka


> #endif
> diff --git a/tools/testing/selftests/bpf/progs/kprobe_multi_session_cookie.c b/tools/testing/selftests/bpf/progs/kprobe_multi_session_cookie.c
> index d49070803e22..0835b5edf685 100644
> --- a/tools/testing/selftests/bpf/progs/kprobe_multi_session_cookie.c
> +++ b/tools/testing/selftests/bpf/progs/kprobe_multi_session_cookie.c
> @@ -25,7 +25,7 @@ int BPF_PROG(trigger)
>
> static int check_cookie(__u64 val, __u64 *result)
> {
> - long *cookie;
> + __u64 *cookie;
>
> if (bpf_get_current_pid_tgid() >> 32 != pid)
> return 1;
> --
> 2.44.0
>