mm: replace ACCESS_ONCE with READ_ONCE or barriers
[firefly-linux-kernel-4.4.55.git] / mm / rmap.c
index 19886fb2f13aac6a659ba1ae8b9e4db2f8efa7a4..1e542744e13192709850a2fd6c8fc068d0bf5962 100644 (file)
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -581,7 +581,8 @@ pmd_t *mm_find_pmd(struct mm_struct *mm, unsigned long address)
         * without holding anon_vma lock for write.  So when looking for a
         * genuine pmde (in which to find pte), test present and !THP together.
         */
-       pmde = ACCESS_ONCE(*pmd);
+       pmde = *pmd;
+       barrier();
        if (!pmd_present(pmde) || pmd_trans_huge(pmde))
                pmd = NULL;
 out: