riscv: Fix set_huge_pte_at() for NAPOT mapping
authorAlexandre Ghiti <alexghiti@rivosinc.com>
Wed, 17 Jan 2024 19:57:40 +0000 (20:57 +0100)
committerPalmer Dabbelt <palmer@rivosinc.com>
Thu, 1 Feb 2024 21:25:54 +0000 (13:25 -0800)
commit1458eb2c9d88ad4b35eb6d6a4aa1d43d8fbf7f62
treeb6f08a24512e024b7bbd0b4ab4e3fbce40102dee
parent6613476e225e090cc9aad49be7fa504e290dd33d
riscv: Fix set_huge_pte_at() for NAPOT mapping

As stated by the privileged specification, we must clear a NAPOT
mapping and emit a sfence.vma before setting a new translation.

Fixes: 82a1a1f3bfb6 ("riscv: mm: support Svnapot in hugetlb page")
Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Link: https://lore.kernel.org/r/20240117195741.1926459-2-alexghiti@rivosinc.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/mm/hugetlbpage.c