riscv, bpf: use lw when reading int cpu in BPF_MOV64_PERCPU_REG
authorRadim Krčmář <rkrcmar@ventanamicro.com>
Tue, 12 Aug 2025 09:02:55 +0000 (11:02 +0200)
committerPaul Walmsley <pjw@kernel.org>
Fri, 5 Sep 2025 21:31:17 +0000 (15:31 -0600)
commitad5348c765914766a98ad26cf7a8c28d51a16bdd
tree7cecc243843d5356732eff1e730ab90797ae7ac8
parent1046791390af6703a5e24718a16f37974adb11db
riscv, bpf: use lw when reading int cpu in BPF_MOV64_PERCPU_REG

emit_ld is wrong, because thread_info.cpu is 32-bit, not xlen-bit wide.
The struct currently has a hole after cpu, so little endian accesses
seemed fine.

Fixes: 19c56d4e5be1 ("riscv, bpf: add internal-only MOV instruction to resolve per-CPU addrs")
Cc: stable@vger.kernel.org
Signed-off-by: Radim Krčmář <rkrcmar@ventanamicro.com>
Reviewed-by: Pu Lehui <pulehui@huawei.com>
Acked-by: Björn Töpel <bjorn@kernel.org>
Tested-by: Björn Töpel <bjorn@rivosinc.com> # QEMU
Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Link: https://lore.kernel.org/r/20250812090256.757273-3-rkrcmar@ventanamicro.com
Signed-off-by: Paul Walmsley <pjw@kernel.org>
arch/riscv/net/bpf_jit_comp64.c