Message ID | 20200305220127.29109-1-kpsingh@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [bpf-next] bpf: Fix bpf_prog_test_run_tracing for !CONFIG_NET | expand |
On Thu, Mar 05, 2020 at 11:01:27PM +0100, KP Singh wrote: > From: KP Singh <kpsingh@google.com> > > test_run.o is not built when CONFIG_NET is not set and > bpf_prog_test_run_tracing being referenced in bpf_trace.o causes the > linker error: > > ld: kernel/trace/bpf_trace.o:(.rodata+0x38): undefined reference to > `bpf_prog_test_run_tracing' > > Add a __weak function in bpf_trace.c to handle this. > > Fixes: da00d2f117a0 ("bpf: Add test ops for BPF_PROG_TYPE_TRACING") > Signed-off-by: KP Singh <kpsingh@google.com> Applied. Thanks
On 3/5/20 2:01 PM, KP Singh wrote: > From: KP Singh <kpsingh@google.com> > > test_run.o is not built when CONFIG_NET is not set and > bpf_prog_test_run_tracing being referenced in bpf_trace.o causes the > linker error: > > ld: kernel/trace/bpf_trace.o:(.rodata+0x38): undefined reference to > `bpf_prog_test_run_tracing' > > Add a __weak function in bpf_trace.c to handle this. > > Fixes: da00d2f117a0 ("bpf: Add test ops for BPF_PROG_TYPE_TRACING") > Signed-off-by: KP Singh <kpsingh@google.com> Reported-by: Randy Dunlap <rdunlap@infradead.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested Thanks. > --- > kernel/trace/bpf_trace.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c > index 363e0a2c75cf..6a490d8ce9de 100644 > --- a/kernel/trace/bpf_trace.c > +++ b/kernel/trace/bpf_trace.c > @@ -1252,6 +1252,13 @@ static bool tracing_prog_is_valid_access(int off, int size, > return btf_ctx_access(off, size, type, prog, info); > } > > +int __weak bpf_prog_test_run_tracing(struct bpf_prog *prog, > + const union bpf_attr *kattr, > + union bpf_attr __user *uattr) > +{ > + return -ENOTSUPP; > +} > + > const struct bpf_verifier_ops raw_tracepoint_verifier_ops = { > .get_func_proto = raw_tp_prog_func_proto, > .is_valid_access = raw_tp_prog_is_valid_access, >
On Thu, Mar 5, 2020 at 3:12 PM Randy Dunlap <rdunlap@infradead.org> wrote: > > On 3/5/20 2:01 PM, KP Singh wrote: > > From: KP Singh <kpsingh@google.com> > > > > test_run.o is not built when CONFIG_NET is not set and > > bpf_prog_test_run_tracing being referenced in bpf_trace.o causes the > > linker error: > > > > ld: kernel/trace/bpf_trace.o:(.rodata+0x38): undefined reference to > > `bpf_prog_test_run_tracing' > > > > Add a __weak function in bpf_trace.c to handle this. > > > > Fixes: da00d2f117a0 ("bpf: Add test ops for BPF_PROG_TYPE_TRACING") > > Signed-off-by: KP Singh <kpsingh@google.com> > > Reported-by: Randy Dunlap <rdunlap@infradead.org> > Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested Since it was at the top of the tree I amended the commit with your tags. Thanks for reporting and testing.
On Fri, Mar 6, 2020 at 12:16 AM Alexei Starovoitov <alexei.starovoitov@gmail.com> wrote: > > On Thu, Mar 5, 2020 at 3:12 PM Randy Dunlap <rdunlap@infradead.org> wrote: > > > > On 3/5/20 2:01 PM, KP Singh wrote: > > > From: KP Singh <kpsingh@google.com> > > > > > > test_run.o is not built when CONFIG_NET is not set and > > > bpf_prog_test_run_tracing being referenced in bpf_trace.o causes the > > > linker error: > > > > > > ld: kernel/trace/bpf_trace.o:(.rodata+0x38): undefined reference to > > > `bpf_prog_test_run_tracing' > > > > > > Add a __weak function in bpf_trace.c to handle this. > > > > > > Fixes: da00d2f117a0 ("bpf: Add test ops for BPF_PROG_TYPE_TRACING") > > > Signed-off-by: KP Singh <kpsingh@google.com> > > > > Reported-by: Randy Dunlap <rdunlap@infradead.org> Thanks! Apologies, I should have added the "Reported-by:" tag. - KP > > Acked-by: Randy Dunlap <rdunlap@infradead.org> # build-tested > > Since it was at the top of the tree I amended the commit > with your tags. > Thanks for reporting and testing.
diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c index 363e0a2c75cf..6a490d8ce9de 100644 --- a/kernel/trace/bpf_trace.c +++ b/kernel/trace/bpf_trace.c @@ -1252,6 +1252,13 @@ static bool tracing_prog_is_valid_access(int off, int size, return btf_ctx_access(off, size, type, prog, info); } +int __weak bpf_prog_test_run_tracing(struct bpf_prog *prog, + const union bpf_attr *kattr, + union bpf_attr __user *uattr) +{ + return -ENOTSUPP; +} + const struct bpf_verifier_ops raw_tracepoint_verifier_ops = { .get_func_proto = raw_tp_prog_func_proto, .is_valid_access = raw_tp_prog_is_valid_access,