Hi Andrii,

kernel test robot noticed the following build errors:

[auto build test ERROR on trace/for-next]

url:    
https://github.com/intel-lab-lkp/linux/commits/Andrii-Nakryiko/bpf-decouple-BPF-link-attach-hook-and-BPF-program-sleepable-semantics/20241101-051131
base:   https://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace 
for-next
patch link:    
https://lore.kernel.org/r/20241031210938.1696639-3-andrii%40kernel.org
patch subject: [PATCH trace/for-next 3/3] bpf: ensure RCU Tasks Trace GP for 
sleepable raw tracepoint BPF links
config: x86_64-buildonly-randconfig-001-20241101 
(https://download.01.org/0day-ci/archive/20241101/202411011255.gyntofn5-...@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20241101/202411011255.gyntofn5-...@intel.com/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 <l...@intel.com>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202411011255.gyntofn5-...@intel.com/

All errors (new ones prefixed by >>):

   kernel/bpf/syscall.c: In function 'bpf_raw_tp_link_attach':
>> kernel/bpf/syscall.c:3866:33: error: implicit declaration of function 
>> 'tracepoint_is_faultable' [-Werror=implicit-function-declaration]
    3866 |                                 tracepoint_is_faultable(btp->tp));
         |                                 ^~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors


vim +/tracepoint_is_faultable +3866 kernel/bpf/syscall.c

  3818  
  3819  static int bpf_raw_tp_link_attach(struct bpf_prog *prog,
  3820                                    const char __user *user_tp_name, u64 
cookie)
  3821  {
  3822          struct bpf_link_primer link_primer;
  3823          struct bpf_raw_tp_link *link;
  3824          struct bpf_raw_event_map *btp;
  3825          const char *tp_name;
  3826          char buf[128];
  3827          int err;
  3828  
  3829          switch (prog->type) {
  3830          case BPF_PROG_TYPE_TRACING:
  3831          case BPF_PROG_TYPE_EXT:
  3832          case BPF_PROG_TYPE_LSM:
  3833                  if (user_tp_name)
  3834                          /* The attach point for this category of 
programs
  3835                           * should be specified via btf_id during 
program load.
  3836                           */
  3837                          return -EINVAL;
  3838                  if (prog->type == BPF_PROG_TYPE_TRACING &&
  3839                      prog->expected_attach_type == BPF_TRACE_RAW_TP) {
  3840                          tp_name = prog->aux->attach_func_name;
  3841                          break;
  3842                  }
  3843                  return bpf_tracing_prog_attach(prog, 0, 0, 0);
  3844          case BPF_PROG_TYPE_RAW_TRACEPOINT:
  3845          case BPF_PROG_TYPE_RAW_TRACEPOINT_WRITABLE:
  3846                  if (strncpy_from_user(buf, user_tp_name, sizeof(buf) - 
1) < 0)
  3847                          return -EFAULT;
  3848                  buf[sizeof(buf) - 1] = 0;
  3849                  tp_name = buf;
  3850                  break;
  3851          default:
  3852                  return -EINVAL;
  3853          }
  3854  
  3855          btp = bpf_get_raw_tracepoint(tp_name);
  3856          if (!btp)
  3857                  return -ENOENT;
  3858  
  3859          link = kzalloc(sizeof(*link), GFP_USER);
  3860          if (!link) {
  3861                  err = -ENOMEM;
  3862                  goto out_put_btp;
  3863          }
  3864          bpf_link_init_sleepable(&link->link, 
BPF_LINK_TYPE_RAW_TRACEPOINT,
  3865                                  &bpf_raw_tp_link_lops, prog,
> 3866                                  tracepoint_is_faultable(btp->tp));
  3867          link->btp = btp;
  3868          link->cookie = cookie;
  3869  
  3870          err = bpf_link_prime(&link->link, &link_primer);
  3871          if (err) {
  3872                  kfree(link);
  3873                  goto out_put_btp;
  3874          }
  3875  
  3876          err = bpf_probe_register(link->btp, link);
  3877          if (err) {
  3878                  bpf_link_cleanup(&link_primer);
  3879                  goto out_put_btp;
  3880          }
  3881  
  3882          return bpf_link_settle(&link_primer);
  3883  
  3884  out_put_btp:
  3885          bpf_put_raw_tracepoint(btp);
  3886          return err;
  3887  }
  3888  

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

Reply via email to