[mhiramat:topic/wprobe-v2 8/11] kernel/trace/trace_wprobe.c:230:16: sparse: sparse: incorrect type in assignment (different address spaces)

kernel test robot <[email protected]> Mon, 03 Aug 2026 14:10:53 +0800
Newsgroups dev.linux.lists.oe-kbuild-all
Message-ID <[email protected]>
tree:   https://git.kernel.org/pub/scm/linux/kernel/git/mhiramat/linux.git topic/wprobe-v2
head:   a4397d5c0abf35acc79a3324139364deaf5883ec
commit: d83c23ec2a39f1ae346bbce351cb004be5c58c1e [8/11] tracing: wprobe: Add wprobe event trigger
config: x86_64-randconfig-123-20260803 (https://download.01.org/0day-ci/archive/20260803/[email protected]/config)
compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
sparse: v0.6.5-rc1
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260803/[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]/

sparse warnings: (new ones prefixed by >>)
>> kernel/trace/trace_wprobe.c:230:16: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct perf_event **pevent @@     got struct perf_event *[noderef] __percpu * @@
   kernel/trace/trace_wprobe.c:230:16: sparse:     expected struct perf_event **pevent
   kernel/trace/trace_wprobe.c:230:16: sparse:     got struct perf_event *[noderef] __percpu *
>> kernel/trace/trace_wprobe.c:234:15: sparse: sparse: incorrect type in initializer (different address spaces) @@     expected void const [noderef] __percpu *__vpp_verify @@     got struct perf_event ** @@
   kernel/trace/trace_wprobe.c:234:15: sparse:     expected void const [noderef] __percpu *__vpp_verify
   kernel/trace/trace_wprobe.c:234:15: sparse:     got struct perf_event **

vim +230 kernel/trace/trace_wprobe.c

   225	
   226	static int trace_wprobe_update_local(struct trace_wprobe *tw, unsigned long addr)
   227	{
   228		struct perf_event **pevent, *bp;
   229	
 > 230		pevent = READ_ONCE(tw->bp_event);
   231		if (!pevent)
   232			return -EINVAL;
   233	
 > 234		bp = *this_cpu_ptr(pevent);
   235		if (!bp)
   236			return -EINVAL;
   237	
   238		return modify_local_hw_breakpoint_addr(bp, addr);
   239	}
   240	

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