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

From: Daniel Xu
Date: Tue Jun 11 2024 - 11:54:28 EST


Hi Jiri,

On Mon, Jun 10, 2024 at 03:04:25PM GMT, Jiri Olsa wrote:
> 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

Sounds reasonable to me. I don't think the kfunc has made it to a
release yet, so perhaps if we extract this commit out as a fix to bpf
tree it can still make it into 6.10. That way we won't have to worry
about any ABI changes.

Thanks,
Daniel