summaryrefslogtreecommitdiff
path: root/arch/riscv/mm/hugetlbpage.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/riscv/mm/hugetlbpage.c')
-rw-r--r--arch/riscv/mm/hugetlbpage.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/riscv/mm/hugetlbpage.c b/arch/riscv/mm/hugetlbpage.c
index 542883b3b49b..96225a8533ad 100644
--- a/arch/riscv/mm/hugetlbpage.c
+++ b/arch/riscv/mm/hugetlbpage.c
@@ -73,7 +73,11 @@ pte_t *huge_pte_alloc(struct mm_struct *mm,
}
out:
- WARN_ON_ONCE(pte && pte_present(*pte) && !pte_huge(*pte));
+ if (pte) {
+ pte_t pteval = ptep_get_lockless(pte);
+
+ WARN_ON_ONCE(pte_present(pteval) && !pte_huge(pteval));
+ }
return pte;
}