diff --git a/mm/gup.c b/mm/gup.c index de9e36262ccba6f73295a05d5b61216b5a9e290b..761df4944ef5afd012cfc023982f1da34b74d069 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -2425,7 +2425,7 @@ static int gup_hugepte(pte_t *ptep, unsigned long sz, unsigned long addr, if (pte_end < end) end = pte_end; - pte = READ_ONCE(*ptep); + pte = huge_ptep_get(ptep); if (!pte_access_permitted(pte, flags & FOLL_WRITE)) return 0;