Hi Jiri,

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/Jiri-Olsa/ftrace-Add-ftrace_hash_count-function/20260316-160117
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
patch link:    
https://lore.kernel.org/r/20260316075138.465430-9-jolsa%40kernel.org
patch subject: [PATCHv3 bpf-next 08/24] bpf: Add 
bpf_trampoline_multi_attach/detach functions
config: x86_64-randconfig-075-20260320 
(https://download.01.org/0day-ci/archive/20260320/[email protected]/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 
87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20260320/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

>> kernel/bpf/trampoline.c:1520:8: error: call to undeclared function 
>> 'btf_distill_func_proto'; ISO C99 and later do not support implicit function 
>> declarations [-Wimplicit-function-declaration]
    1520 |         err = btf_distill_func_proto(NULL, btf, t, tname, 
&tgt_info->fmodel);
         |               ^
   1 error generated.


vim +/btf_distill_func_proto +1520 kernel/bpf/trampoline.c

  1498  
  1499  static int bpf_get_btf_id_target(struct btf *btf, struct bpf_prog 
*prog, u32 btf_id,
  1500                                   struct bpf_attach_target_info 
*tgt_info)
  1501  {
  1502          const struct btf_type *t;
  1503          unsigned long addr;
  1504          const char *tname;
  1505          int err;
  1506  
  1507          if (!btf_id || !btf)
  1508                  return -EINVAL;
  1509          t = btf_type_by_id(btf, btf_id);
  1510          if (!t)
  1511                  return -EINVAL;
  1512          tname = btf_name_by_offset(btf, t->name_off);
  1513          if (!tname)
  1514                  return -EINVAL;
  1515          if (!btf_type_is_func(t))
  1516                  return -EINVAL;
  1517          t = btf_type_by_id(btf, t->type);
  1518          if (!btf_type_is_func_proto(t))
  1519                  return -EINVAL;
> 1520          err = btf_distill_func_proto(NULL, btf, t, tname, 
> &tgt_info->fmodel);
  1521          if (err < 0)
  1522                  return err;
  1523          if (btf_is_module(btf)) {
  1524                  /* The bpf program already holds refference to module. 
*/
  1525                  if (WARN_ON_ONCE(!prog->aux->mod))
  1526                          return -EINVAL;
  1527                  addr = find_kallsyms_symbol_value(prog->aux->mod, 
tname);
  1528          } else {
  1529                  addr = kallsyms_lookup_name(tname);
  1530          }
  1531          if (!addr || !ftrace_location(addr))
  1532                  return -ENOENT;
  1533          tgt_info->tgt_addr = addr;
  1534          return 0;
  1535  }
  1536  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

Reply via email to