Message ID | 40baf8f3507cac4851a310578edfb98ce73b5605.1574541375.git.daniel@iogearbox.net |
---|---|
State | Accepted |
Delegated to: | BPF Maintainers |
Headers | show |
Series | [bpf-next] bpf: add bpf_jit_blinding_enabled for !CONFIG_BPF_JIT | expand |
On Sat, Nov 23, 2019 at 12:37 PM Daniel Borkmann <daniel@iogearbox.net> wrote: > > Add a definition of bpf_jit_blinding_enabled() when CONFIG_BPF_JIT is not set > in order to fix a recent build regression: > > [...] > CC kernel/bpf/verifier.o > CC kernel/bpf/inode.o > kernel/bpf/verifier.c: In function ‘fixup_bpf_calls’: > kernel/bpf/verifier.c:9132:25: error: implicit declaration of function ‘bpf_jit_blinding_enabled’; did you mean ‘bpf_jit_kallsyms_enabled’? [-Werror=implicit-function-declaration] > 9132 | bool expect_blinding = bpf_jit_blinding_enabled(prog); > | ^~~~~~~~~~~~~~~~~~~~~~~~ > | bpf_jit_kallsyms_enabled > CC kernel/bpf/helpers.o > CC kernel/bpf/hashtab.o > [...] > > Fixes: bad63c9ea554 ("bpf: Constant map key tracking for prog array pokes") > Reported-by: Jakub Sitnicki <jakub@cloudflare.com> > Reported-by: Andrii Nakryiko <andriin@fb.com> > Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Applied. Thanks
[ +Philip, +Fengguang ] On 11/24/19 11:54 PM, kbuild test robot wrote: > Hi Daniel, > > I love your patch! Yet something to improve: > > [auto build test ERROR on bpf-next/master] > [cannot apply to v5.4-rc8 next-20191122] > [if your patch is applied to the wrong git tree, please drop us a note to help > improve the system. BTW, we also suggest to use '--base' option to specify the > base tree in git format-patch, please see https://stackoverflow.com/a/37406982] > > url: https://github.com/0day-ci/linux/commits/Daniel-Borkmann/bpf-add-bpf_jit_blinding_enabled-for-CONFIG_BPF_JIT/20191125-042008 > base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master > config: i386-tinyconfig (attached as .config) > compiler: gcc-7 (Debian 7.4.0-14) 7.4.0 > reproduce: > # save the attached .config to linux build tree > make ARCH=i386 > > If you fix the issue, kindly add following tag > Reported-by: kbuild test robot <lkp@intel.com> > > All errors (new ones prefixed by >>): > > In file included from include/net/sock.h:59:0, > from include/linux/tcp.h:19, > from include/linux/ipv6.h:87, > from include/net/ipv6.h:12, > from include/linux/sunrpc/clnt.h:28, > from include/linux/nfs_fs.h:32, > from init/do_mounts.c:23: >>> include/linux/filter.h:1061:20: error: redefinition of 'bpf_jit_blinding_enabled' > static inline bool bpf_jit_blinding_enabled(struct bpf_prog *prog) > ^~~~~~~~~~~~~~~~~~~~~~~~ > include/linux/filter.h:1056:20: note: previous definition of 'bpf_jit_blinding_enabled' was here > static inline bool bpf_jit_blinding_enabled(struct bpf_prog *prog) > ^~~~~~~~~~~~~~~~~~~~~~~~ Hmm, can't reproduce with above .config for `make ARCH=i386`. The .config doesn't have CONFIG_BPF_JIT, and given there's only exactly *one* definition of bpf_jit_blinding_enabled() for CONFIG_BPF_JIT and *one* for !CONFIG_BPF_JIT this build bot warning feels invalid to me (unless I'm completely blind and missing something obvious, but the succeeded kernel build seems to agree with me). Thanks, Daniel > vim +/bpf_jit_blinding_enabled +1061 include/linux/filter.h > > 1060 >> 1061 static inline bool bpf_jit_blinding_enabled(struct bpf_prog *prog) > 1062 { > 1063 return false; > 1064 } > 1065 > > --- > 0-DAY kernel test infrastructure Open Source Technology Center > https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation >
Hi Daniel, Sorry for the inconvenience, It's our fault. the patch("bpf: Add bpf_jit_blinding_enabled for !CONFIG_BPF_JIT") has been applied into bpf-next/master, but kbuild bot catched the patch("bpf: add bpf_jit_blinding_enabled for !CONFIG_BPF_JIT") and applied it again. $ git log --oneline linux-review/Daniel-Borkmann/bpf-add-bpf_jit_blinding_enabled-for-CONFIG_BPF_JIT/20191125-042008 -n5 139a0e0d24031 bpf: add bpf_jit_blinding_enabled for !CONFIG_BPF_JIT b633b4ea8a963 bpf: Simplify __bpf_arch_text_poke poke type handling 11d450039666e bpf: Introduce BPF_TRACE_x helper for the tracing tests 691ed80326693 bpf: Add bpf_jit_blinding_enabled for !CONFIG_BPF_JIT eb41045096419 Merge branch 'optimize-bpf_tail_call' Best Regards, Rong Chen On 11/25/19 3:27 PM, Daniel Borkmann wrote: > [ +Philip, +Fengguang ] > > On 11/24/19 11:54 PM, kbuild test robot wrote: >> Hi Daniel, >> >> I love your patch! Yet something to improve: >> >> [auto build test ERROR on bpf-next/master] >> [cannot apply to v5.4-rc8 next-20191122] >> [if your patch is applied to the wrong git tree, please drop us a >> note to help >> improve the system. BTW, we also suggest to use '--base' option to >> specify the >> base tree in git format-patch, please see >> https://stackoverflow.com/a/37406982] >> >> url: >> https://github.com/0day-ci/linux/commits/Daniel-Borkmann/bpf-add-bpf_jit_blinding_enabled-for-CONFIG_BPF_JIT/20191125-042008 >> base: >> https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master >> config: i386-tinyconfig (attached as .config) >> compiler: gcc-7 (Debian 7.4.0-14) 7.4.0 >> reproduce: >> # save the attached .config to linux build tree >> make ARCH=i386 >> >> If you fix the issue, kindly add following tag >> Reported-by: kbuild test robot <lkp@intel.com> >> >> All errors (new ones prefixed by >>): >> >> In file included from include/net/sock.h:59:0, >> from include/linux/tcp.h:19, >> from include/linux/ipv6.h:87, >> from include/net/ipv6.h:12, >> from include/linux/sunrpc/clnt.h:28, >> from include/linux/nfs_fs.h:32, >> from init/do_mounts.c:23: >>>> include/linux/filter.h:1061:20: error: redefinition of >>>> 'bpf_jit_blinding_enabled' >> static inline bool bpf_jit_blinding_enabled(struct bpf_prog *prog) >> ^~~~~~~~~~~~~~~~~~~~~~~~ >> include/linux/filter.h:1056:20: note: previous definition of >> 'bpf_jit_blinding_enabled' was here >> static inline bool bpf_jit_blinding_enabled(struct bpf_prog *prog) >> ^~~~~~~~~~~~~~~~~~~~~~~~ > > Hmm, can't reproduce with above .config for `make ARCH=i386`. The > .config doesn't have > CONFIG_BPF_JIT, and given there's only exactly *one* definition of > bpf_jit_blinding_enabled() > for CONFIG_BPF_JIT and *one* for !CONFIG_BPF_JIT this build bot > warning feels invalid to me > (unless I'm completely blind and missing something obvious, but the > succeeded kernel build > seems to agree with me). > > Thanks, > Daniel > >> vim +/bpf_jit_blinding_enabled +1061 include/linux/filter.h >> >> 1060 >>> 1061 static inline bool bpf_jit_blinding_enabled(struct bpf_prog >>> *prog) >> 1062 { >> 1063 return false; >> 1064 } >> 1065 >> >> --- >> 0-DAY kernel test infrastructure Open Source >> Technology Center >> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel >> Corporation >> > _______________________________________________ > kbuild-all mailing list -- kbuild-all@lists.01.org > To unsubscribe send an email to kbuild-all-leave@lists.01.org
diff --git a/include/linux/filter.h b/include/linux/filter.h index 796b60d8cc6c..1b1e8b8f88da 100644 --- a/include/linux/filter.h +++ b/include/linux/filter.h @@ -1053,6 +1053,11 @@ static inline bool ebpf_jit_enabled(void) return false; } +static inline bool bpf_jit_blinding_enabled(struct bpf_prog *prog) +{ + return false; +} + static inline bool bpf_prog_ebpf_jited(const struct bpf_prog *fp) { return false;
Add a definition of bpf_jit_blinding_enabled() when CONFIG_BPF_JIT is not set in order to fix a recent build regression: [...] CC kernel/bpf/verifier.o CC kernel/bpf/inode.o kernel/bpf/verifier.c: In function ‘fixup_bpf_calls’: kernel/bpf/verifier.c:9132:25: error: implicit declaration of function ‘bpf_jit_blinding_enabled’; did you mean ‘bpf_jit_kallsyms_enabled’? [-Werror=implicit-function-declaration] 9132 | bool expect_blinding = bpf_jit_blinding_enabled(prog); | ^~~~~~~~~~~~~~~~~~~~~~~~ | bpf_jit_kallsyms_enabled CC kernel/bpf/helpers.o CC kernel/bpf/hashtab.o [...] Fixes: bad63c9ea554 ("bpf: Constant map key tracking for prog array pokes") Reported-by: Jakub Sitnicki <jakub@cloudflare.com> Reported-by: Andrii Nakryiko <andriin@fb.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> --- include/linux/filter.h | 5 +++++ 1 file changed, 5 insertions(+)