Hi Ilya, kernel test robot noticed the following build errors: [auto build test ERROR on bpf-next/master] url: https://github.com/intel-lab-lkp/linux/commits/Ilya-Leoshkevich/bpf-Support-64-bit-pointers-to-kfuncs/20230406-053713 base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master patch link: https://lore.kernel.org/r/20230405213453.49756-1-iii%40linux.ibm.com patch subject: [PATCH bpf-next v6] bpf: Support 64-bit pointers to kfuncs config: i386-randconfig-c001-20230403 (https://download.01.org/0day-ci/archive/20230406/202304060822.L9VsdUzS-lkp@xxxxxxxxx/config) compiler: gcc-11 (Debian 11.3.0-8) 11.3.0 reproduce (this is a W=1 build): # https://github.com/intel-lab-lkp/linux/commit/2a9559efd98d24493ac5c889a3ae03dd66b0de26 git remote add linux-review https://github.com/intel-lab-lkp/linux git fetch --no-tags linux-review Ilya-Leoshkevich/bpf-Support-64-bit-pointers-to-kfuncs/20230406-053713 git checkout 2a9559efd98d24493ac5c889a3ae03dd66b0de26 # save the config file mkdir build_dir && cp config build_dir/.config make W=1 O=build_dir ARCH=i386 olddefconfig make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Link: https://lore.kernel.org/oe-kbuild-all/202304060822.L9VsdUzS-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): ld: kernel/bpf/core.o: in function `bpf_jit_get_func_addr': >> kernel/bpf/core.c:1207: undefined reference to `bpf_get_kfunc_addr' vim +1207 kernel/bpf/core.c 1182 1183 int bpf_jit_get_func_addr(const struct bpf_prog *prog, 1184 const struct bpf_insn *insn, bool extra_pass, 1185 u64 *func_addr, bool *func_addr_fixed) 1186 { 1187 s16 off = insn->off; 1188 s32 imm = insn->imm; 1189 u8 *addr; 1190 int err; 1191 1192 *func_addr_fixed = insn->src_reg != BPF_PSEUDO_CALL; 1193 if (!*func_addr_fixed) { 1194 /* Place-holder address till the last pass has collected 1195 * all addresses for JITed subprograms in which case we 1196 * can pick them up from prog->aux. 1197 */ 1198 if (!extra_pass) 1199 addr = NULL; 1200 else if (prog->aux->func && 1201 off >= 0 && off < prog->aux->func_cnt) 1202 addr = (u8 *)prog->aux->func[off]->bpf_func; 1203 else 1204 return -EINVAL; 1205 } else if (insn->src_reg == BPF_PSEUDO_KFUNC_CALL && 1206 bpf_jit_supports_far_kfunc_call()) { > 1207 err = bpf_get_kfunc_addr(prog, insn->imm, insn->off, &addr); 1208 if (err) 1209 return err; 1210 } else { 1211 /* Address of a BPF helper call. Since part of the core 1212 * kernel, it's always at a fixed location. __bpf_call_base 1213 * and the helper with imm relative to it are both in core 1214 * kernel. 1215 */ 1216 addr = (u8 *)__bpf_call_base + imm; 1217 } 1218 1219 *func_addr = (unsigned long)addr; 1220 return 0; 1221 } 1222 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests