Commit e30329b8 authored by Luis Gerhorst's avatar Luis Gerhorst Committed by Alexei Starovoitov
Browse files

powerpc/bpf: Fix warning for unused ori31_emitted



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: dff883d9 ("bpf, arm64, powerpc: Change nospec to include v1 barrier")
Reported-by: default avatarkernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202506180402.uUXwVoSH-lkp@intel.com/


Signed-off-by: default avatarLuis Gerhorst <luis.gerhorst@fau.de>
Reviewed-by: default avatarChristophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20250619142647.2157017-1-luis.gerhorst@fau.de


Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent cd7312a7
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -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;

		/*