mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH bpf 1/2] bpf, mips: Fix immediate JMP JEQ/JNE on MIPS32
@ 2026-09-23 10:51 Johan Almbladh
  2026-09-23 10:51 ` [PATCH bpf 2/2] bpf, mips: Fix BSWAP 32 and 16 on MIPS64 Johan Almbladh
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Johan Almbladh @ 2026-09-23 10:51 UTC (permalink / raw)
  To: tsbogend, ast, daniel, andrii, eddyz87, memxor, paulburton,
	main.kalliope
  Cc: martin.lau, song, yonghong.song, jolsa, emil, ihor.solodrai,
	linux-mips, linux-kernel, bpf, philmd, Johan Almbladh

An addu instruction was emitted instead of addiu, causing the immediate
value 1 to be interpreted as register $at. This made the comparison
result invalid when the immediate operand was negative. Note that $at
is mapped to BPF_REG_AX, which is used for constant blinding.

Fix the instruction to use the immediate form.

Found with test_bpf on MIPS32r1 emulated by QEMU.

Fixes: eb63cfcd2ee8 ("mips, bpf: Add eBPF JIT for 32-bit MIPS")
Signed-off-by: Johan Almbladh <johan.almbladh@anyfinetworks.com>
---
 arch/mips/net/bpf_jit_comp32.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/mips/net/bpf_jit_comp32.c b/arch/mips/net/bpf_jit_comp32.c
index 40a878b672f5..15a2a153dc87 100644
--- a/arch/mips/net/bpf_jit_comp32.c
+++ b/arch/mips/net/bpf_jit_comp32.c
@@ -1111,7 +1111,7 @@ static void emit_jmp_i64(struct jit_context *ctx,
 			emit(ctx, xor, tmp, lo(dst), tmp);
 		}
 		if (imm < 0) { /* Compare sign extension */
-			emit(ctx, addu, MIPS_R_T9, hi(dst), 1);
+			emit(ctx, addiu, MIPS_R_T9, hi(dst), 1);
 			emit(ctx, or, tmp, tmp, MIPS_R_T9);
 		} else {       /* Compare zero extension */
 			emit(ctx, or, tmp, tmp, hi(dst));
-- 
2.43.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-09-24  8:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-23 10:51 [PATCH bpf 1/2] bpf, mips: Fix immediate JMP JEQ/JNE on MIPS32 Johan Almbladh
2026-09-23 10:51 ` [PATCH bpf 2/2] bpf, mips: Fix BSWAP 32 and 16 on MIPS64 Johan Almbladh
2026-09-24  2:00 ` [PATCH bpf 1/2] bpf, mips: Fix immediate JMP JEQ/JNE on MIPS32 patchwork-bot+netdevbpf
2026-09-24  8:22 ` David Laight

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®