Re: [PATCH bpf-next v2] add function metadata support

From: kernel test robot
Date: Thu Feb 27 2025 - 11:47:40 EST


Hi Menglong,

kernel test robot noticed the following build warnings:

[auto build test WARNING on bpf-next/master]

url: https://github.com/intel-lab-lkp/linux/commits/Menglong-Dong/add-function-metadata-support/20250226-202312
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
patch link: https://lore.kernel.org/r/20250226121537.752241-1-dongml2%40chinatelecom.cn
patch subject: [PATCH bpf-next v2] add function metadata support
config: x86_64-randconfig-r112-20250227 (https://download.01.org/0day-ci/archive/20250228/202502280004.QmU2zIb5-lkp@xxxxxxxxx/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250228/202502280004.QmU2zIb5-lkp@xxxxxxxxx/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 <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202502280004.QmU2zIb5-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
kernel/trace/kfunc_md.c:12:23: sparse: sparse: symbol 'kfunc_mds' redeclared with different type (different address spaces):
kernel/trace/kfunc_md.c:12:23: sparse: struct kfunc_md [noderef] __rcu *[addressable] [toplevel] kfunc_mds
kernel/trace/kfunc_md.c: note: in included file:
include/linux/kfunc_md.h:16:24: sparse: note: previously declared as:
include/linux/kfunc_md.h:16:24: sparse: struct kfunc_md *extern [addressable] [toplevel] kfunc_mds
>> kernel/trace/kfunc_md.c:186:20: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct kfunc_md *md @@ got struct kfunc_md [noderef] __rcu * @@
kernel/trace/kfunc_md.c:186:20: sparse: expected struct kfunc_md *md
kernel/trace/kfunc_md.c:186:20: sparse: got struct kfunc_md [noderef] __rcu *

vim +186 kernel/trace/kfunc_md.c

169
170 /* Get a exist metadata by the function address, and NULL will be returned
171 * if not exist.
172 *
173 * NOTE: rcu lock should be held during reading the metadata, and
174 * kfunc_md_lock should be held if writing happens.
175 */
176 struct kfunc_md *kfunc_md_find(void *ip)
177 {
178 struct kfunc_md *md;
179 u32 index;
180
181 if (kfunc_md_arch_exist(ip)) {
182 index = kfunc_md_get_index(ip);
183 if (WARN_ON_ONCE(index >= kfunc_md_count))
184 return NULL;
185
> 186 md = &kfunc_mds[index];
187 return md;
188 }
189 return NULL;
190 }
191 EXPORT_SYMBOL_GPL(kfunc_md_find);
192

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