riscv/futex: sign extend compare value in atomic cmpxchg
commit 599c44cd upstream. Make sure the compare value in the lr/sc loop is sign extended to match what lr.w does. Fortunately, due to the compiler keeping the register contents sign extended anyway the lack of the explicit extension didn't result in wrong code so far, but this cannot be relied upon. Fixes: b90edb33 ("RISC-V: Add futex support.") Signed-off-by:Andreas Schwab <schwab@suse.de> Reviewed-by:
Alexandre Ghiti <alexghiti@rivosinc.com> Reviewed-by:
Björn Töpel <bjorn@rivosinc.com> Cc: stable@vger.kernel.org Link: https://lore.kernel.org/r/mvmfrkv2vhz.fsf@suse.de Signed-off-by:
Palmer Dabbelt <palmer@rivosinc.com> Signed-off-by:
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Loading