diff --git a/mm/hugetlb.c b/mm/hugetlb.c index c41b2a0ee2736e4f7df74c440ceb90bd5fcceecb..caad3c5a926fe434bccaea33b6bc781938757e50 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -3735,8 +3735,7 @@ follow_huge_pmd(struct mm_struct *mm, unsigned long address, if (!pmd_huge(*pmd)) goto out; if (pmd_present(*pmd)) { - page = pte_page(*(pte_t *)pmd) + - ((address & ~PMD_MASK) >> PAGE_SHIFT); + page = pmd_page(*pmd) + ((address & ~PMD_MASK) >> PAGE_SHIFT); if (flags & FOLL_GET) get_page(page); } else {