tree: https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git bpf/tracing_multi head: 3f77a2c51293ea19f1ce6a9b06b9fa394beecd13 commit: fb3e0f80af089fc89a36ad479f7adfc4dd3aa9fb [11/18] bpf: Add support to attach program to multiple trampolines config: mips-allyesconfig compiler: mips-linux-gcc (GCC) 12.1.0 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 # https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git/commit/?id=fb3e0f80af089fc89a36ad479f7adfc4dd3aa9fb git remote add jolsa-perf https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git git fetch --no-tags jolsa-perf bpf/tracing_multi git checkout fb3e0f80af089fc89a36ad479f7adfc4dd3aa9fb # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash kernel/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot All errors (new ones prefixed by >>): kernel/bpf/trampoline.c: In function 'bpf_trampoline_lookup': >> kernel/bpf/trampoline.c:259:13: error: implicit declaration of function 'key_in_multi_trampoline' [-Werror=implicit-function-declaration] 259 | if (key_in_multi_trampoline(key)) | ^~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/trampoline.c: At top level: >> kernel/bpf/trampoline.c:1056:13: error: conflicting types for 'key_in_multi_trampoline'; have 'bool(u64)' {aka '_Bool(long long unsigned int)'} 1056 | static bool key_in_multi_trampoline(u64 key) | ^~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/trampoline.c:259:13: note: previous implicit declaration of 'key_in_multi_trampoline' with type 'int()' 259 | if (key_in_multi_trampoline(key)) | ^~~~~~~~~~~~~~~~~~~~~~~ kernel/bpf/trampoline.c:1056:13: warning: 'key_in_multi_trampoline' defined but not used [-Wunused-function] 1056 | static bool key_in_multi_trampoline(u64 key) | ^~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/key_in_multi_trampoline +259 kernel/bpf/trampoline.c 252 253 static struct bpf_trampoline *bpf_trampoline_lookup(u64 key) 254 { 255 struct bpf_trampoline *tr = NULL; 256 struct hlist_head *head; 257 258 mutex_lock(&trampoline_mutex); > 259 if (key_in_multi_trampoline(key)) 260 goto out; 261 tr = __bpf_trampoline_lookup(key); 262 if (tr) { 263 refcount_inc(&tr->refcnt); 264 goto out; 265 } 266 tr = bpf_trampoline_alloc(); 267 if (!tr) 268 goto out; 269 tr->key = key; 270 head = &trampoline_table[hash_64(key, TRAMPOLINE_HASH_BITS)]; 271 hlist_add_head(&tr->hlist, head); 272 out: 273 mutex_unlock(&trampoline_mutex); 274 return tr; 275 } 276 -- 0-DAY CI Kernel Test Service https://01.org/lkp