Thread (3 messages) 3 messages, 3 authors, 2025-06-19

Re: [PATCH bpf-next] powerpc/bpf: Fix warning for unused ori31_emitted

From: Christophe Leroy <hidden>
Date: 2025-06-19 14:50:35
Also in: bpf, lkml


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 <redacted>
Closes: https://lore.kernel.org/oe-kbuild-all/202506180402.uUXwVoSH-lkp@intel.com/ (local)
Signed-off-by: Luis Gerhorst <redacted>
Reviewed-by: Christophe Leroy <redacted>
quoted hunk ↗ jump to hunk
---
  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
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help