]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 9 Sep 2025 16:58:26 +0000 (18:58 +0200)
commit1a1e84c2841694facb417eac8956d3ed8479c4df
tree96818880084b78e5c1f4bb73b9e313e33484ccda
parentfecd903917861edfdf379bd39857e5537e48a6b4
riscv, bpf: use lw when reading int cpu in BPF_MOV64_PERCPU_REG

commit ad5348c765914766a98ad26cf7a8c28d51a16bdd upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/riscv/net/bpf_jit_comp64.c