Hi Song,

kernel test robot noticed the following build errors:

[auto build test ERROR on bpf/master]

url:    
https://github.com/intel-lab-lkp/linux/commits/Song-Liu/ftrace-Fix-BPF-fexit-with-livepatch/20251025-023411
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git master
patch link:    
https://lore.kernel.org/r/20251024182901.3247573-3-song%40kernel.org
patch subject: [PATCH v2 bpf 2/3] ftrace: bpf: Fix IPMODIFY + DIRECT in 
modify_ftrace_direct()
config: sparc-randconfig-r132-20251026 
(https://download.01.org/0day-ci/archive/20251026/[email protected]/config)
compiler: sparc64-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20251026/[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: In function 'register_fentry':
>> kernel/bpf/trampoline.c:229:11: error: dereferencing pointer to incomplete 
>> type 'struct ftrace_ops'
      tr->fops->trampoline = 0;
              ^~


vim +229 kernel/bpf/trampoline.c

   207  
   208  /* first time registering */
   209  static int register_fentry(struct bpf_trampoline *tr, void *new_addr)
   210  {
   211          void *ip = tr->func.addr;
   212          unsigned long faddr;
   213          int ret;
   214  
   215          faddr = ftrace_location((unsigned long)ip);
   216          if (faddr) {
   217                  if (!tr->fops)
   218                          return -ENOTSUPP;
   219                  tr->func.ftrace_managed = true;
   220          }
   221  
   222          if (tr->func.ftrace_managed) {
   223                  ftrace_set_filter_ip(tr->fops, (unsigned long)ip, 0, 1);
   224                  /*
   225                   * Clearing fops->trampoline and fops->NULL is
   226                   * needed by the "goto again" case in
   227                   * bpf_trampoline_update().
   228                   */
 > 229                  tr->fops->trampoline = 0;
   230                  tr->fops->func = NULL;
   231                  ret = register_ftrace_direct(tr->fops, (long)new_addr);
   232          } else {
   233                  ret = bpf_arch_text_poke(ip, BPF_MOD_CALL, NULL, 
new_addr);
   234          }
   235  
   236          return ret;
   237  }
   238  

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

Reply via email to