Re: [PATCH bpf-next v2 2/7] bpf: Implement bpf_probe_read_user_dynptr helper

From: kernel test robot
Date: Mon Jan 27 2025 - 07:28:16 EST


Hi Levi,

kernel test robot noticed the following build warnings:

[auto build test WARNING on d0d106a2bd21499901299160744e5fe9f4c83ddb]

url: https://github.com/intel-lab-lkp/linux/commits/Levi-Zim-via-B4-Relay/bpf-Implement-bpf_probe_read_kernel_dynptr-helper/20250125-163114
base: d0d106a2bd21499901299160744e5fe9f4c83ddb
patch link: https://lore.kernel.org/r/20250125-bpf_dynptr_probe-v2-2-c42c87f97afe%40outlook.com
patch subject: [PATCH bpf-next v2 2/7] bpf: Implement bpf_probe_read_user_dynptr helper
config: x86_64-randconfig-122-20250127 (https://download.01.org/0day-ci/archive/20250127/202501272059.wikSvChi-lkp@xxxxxxxxx/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250127/202501272059.wikSvChi-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/202501272059.wikSvChi-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
kernel/trace/bpf_trace.c:899:41: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __user *[addressable] [assigned] [usertype] sival_ptr @@ got void * @@
kernel/trace/bpf_trace.c:899:41: sparse: expected void [noderef] __user *[addressable] [assigned] [usertype] sival_ptr
kernel/trace/bpf_trace.c:899:41: sparse: got void *
>> kernel/trace/bpf_trace.c:235:39: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void const [noderef] __user *unsafe_ptr @@ got void *unsafe_ptr @@
kernel/trace/bpf_trace.c:235:39: sparse: expected void const [noderef] __user *unsafe_ptr
kernel/trace/bpf_trace.c:235:39: sparse: got void *unsafe_ptr
kernel/trace/bpf_trace.c: note: in included file (through include/linux/smp.h, include/linux/lockdep.h, include/linux/spinlock.h, ...):
include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true
kernel/trace/bpf_trace.c: note: in included file (through include/linux/rbtree.h, include/linux/mm_types.h, include/linux/mmzone.h, ...):
include/linux/rcupdate.h:880:25: sparse: sparse: context imbalance in 'uprobe_prog_run' - unexpected unlock

vim +235 kernel/trace/bpf_trace.c

228
229 BPF_CALL_5(bpf_probe_read_user_dynptr, const struct bpf_dynptr_kern *, dst,
230 u32, offset, u32, size, void *, unsafe_ptr, u64, flags)
231 {
232 int ret = bpf_probe_read_check_dynptr(dst, offset, size, flags);
233
234 return ret ?: bpf_probe_read_user_common(dst->data + dst->offset + offset,
> 235 size, unsafe_ptr);
236 }
237

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