[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f138b40e-095a-48f0-80b9-86685c640cd6@csgroup.eu>
Date: Thu, 19 Jun 2025 16:35:29 +0200
From: Christophe Leroy <christophe.leroy@...roup.eu>
To: Luis Gerhorst <luis.gerhorst@....de>, Alexei Starovoitov
<ast@...nel.org>, Daniel Borkmann <daniel@...earbox.net>,
Andrii Nakryiko <andrii@...nel.org>, Martin KaFai Lau
<martin.lau@...ux.dev>, Eduard Zingerman <eddyz87@...il.com>,
Song Liu <song@...nel.org>, Yonghong Song <yonghong.song@...ux.dev>,
John Fastabend <john.fastabend@...il.com>, KP Singh <kpsingh@...nel.org>,
Stanislav Fomichev <sdf@...ichev.me>, Hao Luo <haoluo@...gle.com>,
Jiri Olsa <jolsa@...nel.org>, Hari Bathini <hbathini@...ux.ibm.com>,
Naveen N Rao <naveen@...nel.org>, Madhavan Srinivasan <maddy@...ux.ibm.com>,
Michael Ellerman <mpe@...erman.id.au>, Nicholas Piggin <npiggin@...il.com>,
bpf@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
linux-kernel@...r.kernel.org
Cc: kernel test robot <lkp@...el.com>
Subject: Re: [PATCH bpf-next] powerpc/bpf: Fix warning for unused
ori31_emitted
Le 19/06/2025 à 16:26, Luis Gerhorst a écrit :
> Without this, the compiler (clang21) might emit a warning under W=1
> because the variable ori31_emitted is set but never used if
> CONFIG_PPC_BOOK3S_64=n.
>
> Without this patch:
>
> $ make -j $(nproc) W=1 ARCH=powerpc SHELL=/bin/bash arch/powerpc/net
> [...]
> CC arch/powerpc/net/bpf_jit_comp.o
> CC arch/powerpc/net/bpf_jit_comp64.o
> ../arch/powerpc/net/bpf_jit_comp64.c: In function 'bpf_jit_build_body':
> ../arch/powerpc/net/bpf_jit_comp64.c:417:28: warning: variable 'ori31_emitted' set but not used [-Wunused-but-set-variable]
> 417 | bool sync_emitted, ori31_emitted;
> | ^~~~~~~~~~~~~
> AR arch/powerpc/net/built-in.a
>
> With this patch:
>
> [...]
> CC arch/powerpc/net/bpf_jit_comp.o
> CC arch/powerpc/net/bpf_jit_comp64.o
> AR arch/powerpc/net/built-in.a
>
> Fixes: dff883d9e93a ("bpf, arm64, powerpc: Change nospec to include v1 barrier")
> Reported-by: kernel test robot <lkp@...el.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202506180402.uUXwVoSH-lkp@intel.com/
> Signed-off-by: Luis Gerhorst <luis.gerhorst@....de>
Reviewed-by: Christophe Leroy <christophe.leroy@...roup.eu>
> ---
> arch/powerpc/net/bpf_jit_comp64.c | 11 +++++------
> 1 file changed, 5 insertions(+), 6 deletions(-)
>
> diff --git a/arch/powerpc/net/bpf_jit_comp64.c b/arch/powerpc/net/bpf_jit_comp64.c
> index 3665ff8bb4bc..a25a6ffe7d7c 100644
> --- a/arch/powerpc/net/bpf_jit_comp64.c
> +++ b/arch/powerpc/net/bpf_jit_comp64.c
> @@ -820,13 +820,12 @@ int bpf_jit_build_body(struct bpf_prog *fp, u32 *image, u32 *fimage, struct code
> case BPF_ST | BPF_NOSPEC:
> sync_emitted = false;
> ori31_emitted = false;
> -#ifdef CONFIG_PPC_E500
> - if (!bpf_jit_bypass_spec_v1()) {
> + if (IS_ENABLED(CONFIG_PPC_E500) &&
> + !bpf_jit_bypass_spec_v1()) {
> EMIT(PPC_RAW_ISYNC());
> EMIT(PPC_RAW_SYNC());
> sync_emitted = true;
> }
> -#endif
> if (!bpf_jit_bypass_spec_v4()) {
> switch (stf_barrier) {
> case STF_BARRIER_EIEIO:
> @@ -849,10 +848,10 @@ int bpf_jit_build_body(struct bpf_prog *fp, u32 *image, u32 *fimage, struct code
> break;
> }
> }
> -#ifdef CONFIG_PPC_BOOK3S_64
> - if (!bpf_jit_bypass_spec_v1() && !ori31_emitted)
> + if (IS_ENABLED(CONFIG_PPC_BOOK3S_64) &&
> + !bpf_jit_bypass_spec_v1() &&
> + !ori31_emitted)
> EMIT(PPC_RAW_ORI(_R31, _R31, 0));
> -#endif
> break;
>
> /*
>
> base-commit: cd7312a78f36e981939abe1cd1f21d355e083dfe
Powered by blists - more mailing lists