[PATCH v2 02/14] arm64: bpf: Remove big-endian support from the JIT compiler
Will Deacon
will at kernel.org
Mon Sep 7 09:37:13 PDT 2026
Big-endian support on arm64 depends on BROKEN. In preparation for
removing the dead code altogether, remove the big-endian-specific
support from the arm64 BPF JIT backend.
Acked-by: Catalin Marinas <catalin.marinas at arm.com>
Acked-by: Arnd Bergmann <arnd at arndb.de>
Acked-by: Marc Zyngier <maz at kernel.org>
Acked-by: Eric Biggers <ebiggers at kernel.org>
Signed-off-by: Will Deacon <will at kernel.org>
---
arch/arm64/net/bpf_jit_comp.c | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/arch/arm64/net/bpf_jit_comp.c b/arch/arm64/net/bpf_jit_comp.c
index c18e005a41db..a5634428fdd5 100644
--- a/arch/arm64/net/bpf_jit_comp.c
+++ b/arch/arm64/net/bpf_jit_comp.c
@@ -1439,13 +1439,8 @@ static int build_insn(const struct bpf_verifier_env *env, const struct bpf_insn
case BPF_ALU | BPF_END | BPF_FROM_LE:
case BPF_ALU | BPF_END | BPF_FROM_BE:
case BPF_ALU64 | BPF_END | BPF_FROM_LE:
-#ifdef CONFIG_CPU_BIG_ENDIAN
- if (BPF_CLASS(code) == BPF_ALU && BPF_SRC(code) == BPF_FROM_BE)
- goto emit_bswap_uxt;
-#else /* !CONFIG_CPU_BIG_ENDIAN */
if (BPF_CLASS(code) == BPF_ALU && BPF_SRC(code) == BPF_FROM_LE)
goto emit_bswap_uxt;
-#endif
switch (imm) {
case 16:
emit(A64_REV16(is64, dst, dst), ctx);
@@ -2559,15 +2554,9 @@ static void clear_garbage(struct jit_ctx *ctx, int reg, int effective_bytes)
{
if (effective_bytes) {
int garbage_bits = 64 - 8 * effective_bytes;
-#ifdef CONFIG_CPU_BIG_ENDIAN
- /* garbage bits are at the right end */
- emit(A64_LSR(1, reg, reg, garbage_bits), ctx);
- emit(A64_LSL(1, reg, reg, garbage_bits), ctx);
-#else
/* garbage bits are at the left end */
emit(A64_LSL(1, reg, reg, garbage_bits), ctx);
emit(A64_LSR(1, reg, reg, garbage_bits), ctx);
-#endif
}
}
--
2.55.0.979.g7e5102b832-goog
More information about the linux-arm-kernel
mailing list