lkml.org 
[lkml]   [2024]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH bpf-next v2 1/2] bpf: Have bpf_rdonly_cast() take a const pointer
Hi Jiri,

On Tue, Feb 06, 2024 at 02:42:22PM +0100, Jiri Olsa wrote:
> On Sun, Feb 04, 2024 at 02:06:34PM -0700, Daniel Xu wrote:
> > Since 20d59ee55172 ("libbpf: add bpf_core_cast() macro"), libbpf is now
> > exporting a const arg version of bpf_rdonly_cast(). This causes the
> > following conflicting type error when generating kfunc prototypes from
> > BTF:
> >
> > In file included from skeleton/pid_iter.bpf.c:5:
> > /home/dxu/dev/linux/tools/bpf/bpftool/bootstrap/libbpf/include/bpf/bpf_core_read.h:297:14: error: conflicting types for 'bpf_rdonly_cast'
> > extern void *bpf_rdonly_cast(const void *obj__ign, __u32 btf_id__k) __ksym __weak;
> > ^
> > ./vmlinux.h:135625:14: note: previous declaration is here
> > extern void *bpf_rdonly_cast(void *obj__ign, u32 btf_id__k) __weak __ksym;
>
> hi,
> I'm hiting more of these when compiling bpf selftests (attached),
> it looks like some kfuncs declarations in bpf_kfuncs.h might be in conflict

Yep, I was actually going to put that as an office hours topic on how we
want to handle that for selftests. Marking kfuncs in bpf_kfuncs.h and
bpf_experimental.h as __weak is an option. ifdef is another option.
Final option I can think of is bumping required pahole version up and
simply deleting all the kfunc definitions.

But given that pahole changes come with the feature flag, I don't see
this as a pressing issue. So I was planning on getting to that after
current outstanding patchsets (just so there's less stuff for me to
juggle).

[...]

Thanks,
Daniel

\
 
 \ /
  Last update: 2024-05-27 14:50    [W:0.213 / U:0.204 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site