]> www.infradead.org Git - users/jedix/linux-maple.git/commit
riscv/futex: sign extend compare value in atomic cmpxchg
authorAndreas Schwab <schwab@suse.de>
Mon, 3 Feb 2025 10:06:00 +0000 (11:06 +0100)
committerPalmer Dabbelt <palmer@rivosinc.com>
Fri, 14 Feb 2025 21:06:31 +0000 (13:06 -0800)
commit599c44cd21f4967774e0acf58f734009be4aea9a
tree31e4ad9896dbc9bbf3dde647801b53a9ca7db44c
parent1898300abf3508bca152e65b36cce5bf93d7e63e
riscv/futex: sign extend compare value in atomic cmpxchg

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: b90edb33010b ("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>
arch/riscv/include/asm/futex.h