From: Yonghong Song <yonghong.song@linux.dev>
To: kernel test robot <lkp@intel.com>, bpf@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev,
Alexei Starovoitov <ast@kernel.org>,
Andrii Nakryiko <andrii@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
kernel-team@fb.com, Martin KaFai Lau <martin.lau@kernel.org>,
Tejun Heo <tj@kernel.org>
Subject: Re: [PATCH bpf-next v5 7/9] bpf, x86: Add jit support for private stack
Date: Sun, 20 Oct 2024 21:44:30 -0700 [thread overview]
Message-ID: <19985cb7-9c32-471d-8e35-02fc7b7998c6@linux.dev> (raw)
In-Reply-To: <202410210358.dvPfsO1C-lkp@intel.com>
On 10/20/24 12:52 PM, kernel test robot wrote:
> Hi Yonghong,
>
> 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/Yonghong-Song/bpf-Allow-each-subprog-having-stack-size-of-512-bytes/20241018-063530
> base: https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next.git master
> patch link: https://lore.kernel.org/r/20241017223214.3177977-1-yonghong.song%40linux.dev
> patch subject: [PATCH bpf-next v5 7/9] bpf, x86: Add jit support for private stack
> config: x86_64-randconfig-122-20241021 (https://download.01.org/0day-ci/archive/20241021/202410210358.dvPfsO1C-lkp@intel.com/config)
> compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241021/202410210358.dvPfsO1C-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@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202410210358.dvPfsO1C-lkp@intel.com/
>
> sparse warnings: (new ones prefixed by >>)
>>> arch/x86/net/bpf_jit_comp.c:1487:44: sparse: sparse: cast removes address space '__percpu' of expression
> arch/x86/net/bpf_jit_comp.c:1488:31: sparse: sparse: cast removes address space '__percpu' of expression
> arch/x86/net/bpf_jit_comp.c:2073:54: sparse: sparse: cast truncates bits from constant value (800000a00000 becomes a00000)
>
> vim +/__percpu +1487 arch/x86/net/bpf_jit_comp.c
>
> 1477
> 1478 static void emit_root_priv_frame_ptr(u8 **pprog, struct bpf_prog *bpf_prog,
> 1479 u32 orig_stack_depth)
> 1480 {
> 1481 void __percpu *priv_frame_ptr;
> 1482 u8 *prog = *pprog;
> 1483
> 1484 priv_frame_ptr = bpf_prog->aux->priv_stack_ptr + orig_stack_depth;
> 1485
> 1486 /* movabs r9, priv_frame_ptr */
>> 1487 emit_mov_imm64(&prog, X86_REG_R9, (long) priv_frame_ptr >> 32,
> 1488 (u32) (long) priv_frame_ptr);
> 1489 #ifdef CONFIG_SMP
> 1490 /* add <r9>, gs:[<off>] */
> 1491 EMIT2(0x65, 0x4c);
> 1492 EMIT3(0x03, 0x0c, 0x25);
> 1493 EMIT((u32)(unsigned long)&this_cpu_off, 4);
> 1494 #endif
> 1495 *pprog = prog;
> 1496 }
> 1497
Looks like the following change will fix the problem:
diff --git a/arch/x86/net/bpf_jit_comp.c b/arch/x86/net/bpf_jit_comp.c
index 86ebca32befc..9a885cbefef4 100644
--- a/arch/x86/net/bpf_jit_comp.c
+++ b/arch/x86/net/bpf_jit_comp.c
@@ -1484,8 +1484,8 @@ static void emit_root_priv_frame_ptr(u8 **pprog, struct bpf_prog *bpf_prog,
priv_frame_ptr = bpf_prog->aux->priv_stack_ptr + orig_stack_depth;
/* movabs r9, priv_frame_ptr */
- emit_mov_imm64(&prog, X86_REG_R9, (long) priv_frame_ptr >> 32,
- (u32) (long) priv_frame_ptr);
+ emit_mov_imm64(&prog, X86_REG_R9, (__force long) priv_frame_ptr >> 32,
+ (u32) (__force long) priv_frame_ptr);
#ifdef CONFIG_SMP
/* add <r9>, gs:[<off>] */
EMIT2(0x65, 0x4c);
I will fix the issue in the next revision.
next prev parent reply other threads:[~2024-10-21 4:44 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-17 22:31 [PATCH bpf-next v5 0/9] bpf: Support private stack for bpf progs Yonghong Song
2024-10-17 22:31 ` [PATCH bpf-next v5 1/9] bpf: Allow each subprog having stack size of 512 bytes Yonghong Song
2024-10-17 22:31 ` [PATCH bpf-next v5 2/9] bpf: Support private stack for struct_ops programs Yonghong Song
2024-10-17 22:31 ` [PATCH bpf-next v5 3/9] sched-ext: Allow sched-ext progs to use private stack Yonghong Song
2024-10-17 22:31 ` [PATCH bpf-next v5 4/9] bpf: Mark each subprog with proper private stack modes Yonghong Song
2024-10-17 22:32 ` [PATCH bpf-next v5 5/9] bpf, x86: Refactor func emit_prologue Yonghong Song
2024-10-17 22:32 ` [PATCH bpf-next v5 6/9] bpf, x86: Create a helper for certain "reg <op>= imm" operations Yonghong Song
2024-10-17 22:32 ` [PATCH bpf-next v5 7/9] bpf, x86: Add jit support for private stack Yonghong Song
2024-10-20 19:52 ` kernel test robot
2024-10-21 4:44 ` Yonghong Song [this message]
2024-10-17 22:32 ` [PATCH bpf-next v5 8/9] selftests/bpf: Add tracing prog private stack tests Yonghong Song
2024-10-17 22:32 ` [PATCH bpf-next v5 9/9] selftests/bpf: Add struct_ops " Yonghong Song
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=19985cb7-9c32-471d-8e35-02fc7b7998c6@linux.dev \
--to=yonghong.song@linux.dev \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=kernel-team@fb.com \
--cc=lkp@intel.com \
--cc=martin.lau@kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=tj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox