[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202509231550.BWhLcP9e-lkp@intel.com>
Date: Tue, 23 Sep 2025 15:52:05 +0800
From: kernel test robot <lkp@...el.com>
To: Menglong Dong <menglong8.dong@...il.com>, jolsa@...nel.org
Cc: oe-kbuild-all@...ts.linux.dev, kpsingh@...nel.org,
mattbobrowski@...gle.com, song@...nel.org, ast@...nel.org,
daniel@...earbox.net, andrii@...nel.org, martin.lau@...ux.dev,
eddyz87@...il.com, yonghong.song@...ux.dev,
john.fastabend@...il.com, sdf@...ichev.me, haoluo@...gle.com,
rostedt@...dmis.org, mhiramat@...nel.org,
mathieu.desnoyers@...icios.com, bpf@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-trace-kernel@...r.kernel.org
Subject: Re: [PATCH bpf-next] bpf: remove is_return in struct
bpf_session_run_ctx
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/bpf-remove-is_return-in-struct-bpf_session_run_ctx/20250922-175833
base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
patch link: https://lore.kernel.org/r/20250922095705.252519-1-dongml2%40chinatelecom.cn
patch subject: [PATCH bpf-next] bpf: remove is_return in struct bpf_session_run_ctx
config: i386-randconfig-r113-20250923 (https://download.01.org/0day-ci/archive/20250923/202509231550.BWhLcP9e-lkp@intel.com/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250923/202509231550.BWhLcP9e-lkp@intel.com/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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202509231550.BWhLcP9e-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
kernel/trace/bpf_trace.c:833: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:833:41: sparse: expected void [noderef] __user *[addressable] [assigned] [usertype] sival_ptr
kernel/trace/bpf_trace.c:833:41: sparse: got void *
>> kernel/trace/bpf_trace.c:3059:62: sparse: sparse: dubious: x | !y
kernel/trace/bpf_trace.c:3512:52: sparse: sparse: cast removes address space '__user' of expression
kernel/trace/bpf_trace.c:3526:56: sparse: sparse: cast removes address space '__user' of expression
kernel/trace/bpf_trace.c:3540:52: sparse: sparse: cast removes address space '__user' of expression
kernel/trace/bpf_trace.c:3547:56: sparse: sparse: cast removes address space '__user' of expression
kernel/trace/bpf_trace.c:3555:52: sparse: sparse: cast removes address space '__user' of expression
kernel/trace/bpf_trace.c:3563:56: sparse: sparse: cast removes address space '__user' of expression
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:869:9: sparse: sparse: context imbalance in 'uprobe_prog_run' - unexpected unlock
vim +3059 kernel/trace/bpf_trace.c
3050
3051 static int uprobe_prog_run(struct bpf_uprobe *uprobe,
3052 unsigned long entry_ip,
3053 struct pt_regs *regs,
3054 bool is_return, void *data)
3055 {
3056 struct bpf_uprobe_multi_link *link = uprobe->link;
3057 struct bpf_uprobe_multi_run_ctx run_ctx = {
3058 .session_ctx = {
> 3059 .data = (void *)((unsigned long)data | !!is_return),
3060 },
3061 .entry_ip = entry_ip,
3062 .uprobe = uprobe,
3063 };
3064 struct bpf_prog *prog = link->link.prog;
3065 bool sleepable = prog->sleepable;
3066 struct bpf_run_ctx *old_run_ctx;
3067 int err;
3068
3069 if (link->task && !same_thread_group(current, link->task))
3070 return 0;
3071
3072 if (sleepable)
3073 rcu_read_lock_trace();
3074 else
3075 rcu_read_lock();
3076
3077 migrate_disable();
3078
3079 old_run_ctx = bpf_set_run_ctx(&run_ctx.session_ctx.run_ctx);
3080 err = bpf_prog_run(link->link.prog, regs);
3081 bpf_reset_run_ctx(old_run_ctx);
3082
3083 migrate_enable();
3084
3085 if (sleepable)
3086 rcu_read_unlock_trace();
3087 else
3088 rcu_read_unlock();
3089 return err;
3090 }
3091
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists