aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/proc/task_mmu.c2
-rw-r--r--mm/mempolicy.c6
2 files changed, 6 insertions, 2 deletions
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index 442177b1119a..c4b2646b6d7c 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -1351,7 +1351,7 @@ static int gather_hugetbl_stats(pte_t *pte, unsigned long hmask,
1351 struct numa_maps *md; 1351 struct numa_maps *md;
1352 struct page *page; 1352 struct page *page;
1353 1353
1354 if (pte_none(*pte)) 1354 if (!pte_present(*pte))
1355 return 0; 1355 return 0;
1356 1356
1357 page = pte_page(*pte); 1357 page = pte_page(*pte);
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index 78e1472933ea..30cc47f8ffa0 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -526,9 +526,13 @@ static void queue_pages_hugetlb_pmd_range(struct vm_area_struct *vma,
526 int nid; 526 int nid;
527 struct page *page; 527 struct page *page;
528 spinlock_t *ptl; 528 spinlock_t *ptl;
529 pte_t entry;
529 530
530 ptl = huge_pte_lock(hstate_vma(vma), vma->vm_mm, (pte_t *)pmd); 531 ptl = huge_pte_lock(hstate_vma(vma), vma->vm_mm, (pte_t *)pmd);
531 page = pte_page(huge_ptep_get((pte_t *)pmd)); 532 entry = huge_ptep_get((pte_t *)pmd);
533 if (!pte_present(entry))
534 goto unlock;
535 page = pte_page(entry);
532 nid = page_to_nid(page); 536 nid = page_to_nid(page);
533 if (node_isset(nid, *nodes) == !!(flags & MPOL_MF_INVERT)) 537 if (node_isset(nid, *nodes) == !!(flags & MPOL_MF_INVERT))
534 goto unlock; 538 goto unlock;