On Wed, Dec 31, 2025 at 8:33 AM Sun Jian <[email protected]> wrote: > > Clang BPF compilation fails in bpf_iter_tasks.c due to an implicit > declaration of bpf_copy_from_user_task_str(), which is a BPF kfunc > exported by the kernel.
nope. It's there in vmlinux.h Fix your build setup instead. pw-bot: cr > Add an explicit prototype in the test program to make the kfunc visible > to the BPF compiler and fix the build error. > > No functional change intended. > > Signed-off-by: Sun Jian <[email protected]> > --- > tools/testing/selftests/bpf/progs/bpf_iter_tasks.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/tools/testing/selftests/bpf/progs/bpf_iter_tasks.c > b/tools/testing/selftests/bpf/progs/bpf_iter_tasks.c > index 966ee5a7b066..f5f396b5aa27 100644 > --- a/tools/testing/selftests/bpf/progs/bpf_iter_tasks.c > +++ b/tools/testing/selftests/bpf/progs/bpf_iter_tasks.c > @@ -4,6 +4,11 @@ > #include <bpf/bpf_helpers.h> > #include <bpf/bpf_tracing.h> > > +extern int bpf_copy_from_user_task_str(void *dst, u32 dst__sz, > + const void *unsafe_ptr, > + struct task_struct *task, > + u64 flags); > + > char _license[] SEC("license") = "GPL"; > > uint32_t tid = 0; > -- > 2.43.0 >
