riscv: __asm_copy_to-from_user: Fix: fail on RV32
authorAkira Tsukamoto <akira.tsukamoto@gmail.com>
Tue, 20 Jul 2021 08:51:45 +0000 (17:51 +0900)
committerPalmer Dabbelt <palmerdabbelt@google.com>
Sat, 24 Jul 2021 00:49:01 +0000 (17:49 -0700)
commit22b5f16ffeff38938ad7420a2bfa3c281c36fd17
treebea1759072fae25d84958e39380549875bdbc553
parent6010d300f9f7e16d1bf327b4730bcd0c0886d9e6
riscv: __asm_copy_to-from_user: Fix: fail on RV32

Had a bug when converting bytes to bits when the cpu was rv32.

The a3 contains the number of bytes and multiple of 8
would be the bits. The LGREG is holding 2 for RV32 and 3 for
RV32, so to achieve multiple of 8 it must always be constant 3.
The 2 was mistakenly used for rv32.

Signed-off-by: Akira Tsukamoto <akira.tsukamoto@gmail.com>
Fixes: ca6eaaa210de ("riscv: __asm_copy_to-from_user: Optimize unaligned memory access and pipeline stall")
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
arch/riscv/lib/uaccess.S