tree: https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git bpf/batch head: b81b17307e02f8e6d4abf87e7ec2d7e5aea1e0b5 commit: 2c1de2c23766232f27faf7c1af1a892c83e89377 [16/27] bpf: Add bpf_trampoline_multi_get/put functions config: i386-randconfig-a016-20210829 (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=1 build): # https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git/commit/?id=2c1de2c23766232f27faf7c1af1a892c83e89377 git remote add jolsa-perf https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git git fetch --no-tags jolsa-perf bpf/batch git checkout 2c1de2c23766232f27faf7c1af1a892c83e89377 # save the attached .config to linux build tree mkdir build_dir make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): ld: kernel/bpf/trampoline.o: in function `bpf_trampoline_compute_key': >> include/linux/bpf_verifier.h:513: undefined reference to `btf_obj_id' ld: kernel/bpf/trampoline.o: in function `bpf_trampoline_multi_get': >> kernel/bpf/trampoline.c:672: undefined reference to `bpf_check_attach_target' vim +513 include/linux/bpf_verifier.h ab3f0063c48c26 Jakub Kicinski 2017-11-03 500 51c39bb1d5d105 Alexei Starovoitov 2020-01-09 501 int check_ctx_reg(struct bpf_verifier_env *env, 51c39bb1d5d105 Alexei Starovoitov 2020-01-09 502 const struct bpf_reg_state *reg, int regno); e5069b9c23b385 Dmitrii Banshchikov 2021-02-13 503 int check_mem_reg(struct bpf_verifier_env *env, struct bpf_reg_state *reg, e5069b9c23b385 Dmitrii Banshchikov 2021-02-13 504 u32 regno, u32 mem_size); 51c39bb1d5d105 Alexei Starovoitov 2020-01-09 505 f7b12b6fea0098 Toke Høiland-Jørgensen 2020-09-25 506 /* this lives here instead of in bpf.h because it needs to dereference tgt_prog */ f7b12b6fea0098 Toke Høiland-Jørgensen 2020-09-25 507 static inline u64 bpf_trampoline_compute_key(const struct bpf_prog *tgt_prog, 22dc4a0f5ed11b Andrii Nakryiko 2020-12-03 508 struct btf *btf, u32 btf_id) f7b12b6fea0098 Toke Høiland-Jørgensen 2020-09-25 509 { 22dc4a0f5ed11b Andrii Nakryiko 2020-12-03 510 if (tgt_prog) 22dc4a0f5ed11b Andrii Nakryiko 2020-12-03 511 return ((u64)tgt_prog->aux->id << 32) | btf_id; 22dc4a0f5ed11b Andrii Nakryiko 2020-12-03 512 else 22dc4a0f5ed11b Andrii Nakryiko 2020-12-03 @513 return ((u64)btf_obj_id(btf) << 32) | 0x80000000 | btf_id; f7b12b6fea0098 Toke Høiland-Jørgensen 2020-09-25 514 } f7b12b6fea0098 Toke Høiland-Jørgensen 2020-09-25 515 :::::: The code at line 513 was first introduced by commit :::::: 22dc4a0f5ed11b6dc8fd73a0892fa0ea1a4c3cdf bpf: Remove hard-coded btf_vmlinux assumption from BPF verifier :::::: TO: Andrii Nakryiko :::::: CC: Alexei Starovoitov --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org