]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - mm/hugetlb.c
ARM: bcm2835: dt: Add the DSI module nodes and clocks.
[mirror_ubuntu-zesty-kernel.git] / mm / hugetlb.c
index c7025c132670a4d8e3279d1ebb7730718fb6aa8a..968b547f3b907f38177a7c82a3ca6dfae6c00a23 100644 (file)
@@ -4474,6 +4474,7 @@ follow_huge_pmd(struct mm_struct *mm, unsigned long address,
 {
        struct page *page = NULL;
        spinlock_t *ptl;
+       pte_t pte;
 retry:
        ptl = pmd_lockptr(mm, pmd);
        spin_lock(ptl);
@@ -4483,12 +4484,13 @@ retry:
         */
        if (!pmd_huge(*pmd))
                goto out;
-       if (pmd_present(*pmd)) {
+       pte = huge_ptep_get((pte_t *)pmd);
+       if (pte_present(pte)) {
                page = pmd_page(*pmd) + ((address & ~PMD_MASK) >> PAGE_SHIFT);
                if (flags & FOLL_GET)
                        get_page(page);
        } else {
-               if (is_hugetlb_entry_migration(huge_ptep_get((pte_t *)pmd))) {
+               if (is_hugetlb_entry_migration(pte)) {
                        spin_unlock(ptl);
                        __migration_entry_wait(mm, (pte_t *)pmd, ptl);
                        goto retry;