[jolsa-perf:bpf/batch 19/29] kernel/bpf/trampoline.c:240:51: error: no member named 'ops' in 'struct bpf_trampoline::(unnamed at include/linux/bpf.h:710:2)'

From: kernel test robot
Date: Fri Nov 19 2021 - 00:47:44 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git bpf/batch
head: 5f1f613266bf58f8424a93e1f8b99c4ac8fa6c2b
commit: 52a1d4acdf55df41e99ca2cea51865e6821036ce [19/29] bpf: Add support to attach trampolines with multiple IDs
config: arm64-randconfig-r032-20211118 (attached as .config)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git/commit/?id=52a1d4acdf55df41e99ca2cea51865e6821036ce
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 52a1d4acdf55df41e99ca2cea51865e6821036ce
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> kernel/bpf/trampoline.c:240:51: error: no member named 'ops' in 'struct bpf_trampoline::(unnamed at include/linux/bpf.h:710:2)'
return unregister_ftrace_direct_multi(&tr->func.ops, (long) old_addr);
~~~~~~~~ ^
kernel/bpf/trampoline.c:258:47: error: no member named 'ops' in 'struct bpf_trampoline::(unnamed at include/linux/bpf.h:710:2)'
return modify_ftrace_direct_multi(&tr->func.ops, (long) new_addr);
~~~~~~~~ ^
kernel/bpf/trampoline.c:274:49: error: no member named 'ops' in 'struct bpf_trampoline::(unnamed at include/linux/bpf.h:710:2)'
return register_ftrace_direct_multi(&tr->func.ops, (long) new_addr);
~~~~~~~~ ^
3 errors generated.


vim +240 kernel/bpf/trampoline.c

233
234 static int unregister_fentry(struct bpf_trampoline *tr, void *old_addr)
235 {
236 void *ip = tr->id->addr[0];
237 int ret;
238
239 if (bpf_tramp_id_is_multi(tr->id))
> 240 return unregister_ftrace_direct_multi(&tr->func.ops, (long) old_addr);
241
242 if (tr->func.ftrace_managed)
243 ret = unregister_ftrace_direct((long)ip, (long)old_addr);
244 else
245 ret = bpf_arch_text_poke(ip, BPF_MOD_CALL, old_addr, NULL);
246
247 if (!ret)
248 bpf_trampoline_module_put(tr);
249 return ret;
250 }
251

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip