]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
riscv: Use an atomic xchg in pudp_huge_get_and_clear()
authorAlexandre Ghiti <alexghiti@rivosinc.com>
Wed, 24 Sep 2025 00:25:52 +0000 (18:25 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 2 Oct 2025 11:48:38 +0000 (13:48 +0200)
commitb64d23d1b932108b2c52d5f3dc2b03841db6741d
treef60dd69c270272fac7d33cae415dc0f2db2c33c9
parent8df142e93098b4531fadb5dfcf93087649f570b3
riscv: Use an atomic xchg in pudp_huge_get_and_clear()

commit 546e42c8c6d9498d5eac14bf2aca0383a11b145a upstream.

Make sure we return the right pud value and not a value that could
have been overwritten in between by a different core.

Fixes: c3cc2a4a3a23 ("riscv: Add support for PUD THP")
Cc: stable@vger.kernel.org
Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Link: https://lore.kernel.org/r/20250814-dev-alex-thp_pud_xchg-v1-1-b4704dfae206@rivosinc.com
[pjw@kernel.org: use xchg rather than atomic_long_xchg; avoid atomic op for !CONFIG_SMP like x86]
Signed-off-by: Paul Walmsley <pjw@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/riscv/include/asm/pgtable.h