diff options
Diffstat (limited to 'mm/mempolicy.c')
-rw-r--r-- | mm/mempolicy.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 1850d0aef4ac..b62cab575a84 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c | |||
@@ -208,6 +208,8 @@ static int check_pte_range(struct vm_area_struct *vma, pmd_t *pmd, | |||
208 | page = vm_normal_page(vma, addr, *pte); | 208 | page = vm_normal_page(vma, addr, *pte); |
209 | if (!page) | 209 | if (!page) |
210 | continue; | 210 | continue; |
211 | if (PageReserved(page)) | ||
212 | continue; | ||
211 | nid = page_to_nid(page); | 213 | nid = page_to_nid(page); |
212 | if (node_isset(nid, *nodes) == !!(flags & MPOL_MF_INVERT)) | 214 | if (node_isset(nid, *nodes) == !!(flags & MPOL_MF_INVERT)) |
213 | continue; | 215 | continue; |
@@ -290,7 +292,7 @@ static inline int check_pgd_range(struct vm_area_struct *vma, | |||
290 | static inline int vma_migratable(struct vm_area_struct *vma) | 292 | static inline int vma_migratable(struct vm_area_struct *vma) |
291 | { | 293 | { |
292 | if (vma->vm_flags & ( | 294 | if (vma->vm_flags & ( |
293 | VM_LOCKED|VM_IO|VM_HUGETLB|VM_PFNMAP)) | 295 | VM_LOCKED|VM_IO|VM_HUGETLB|VM_PFNMAP|VM_RESERVED)) |
294 | return 0; | 296 | return 0; |
295 | return 1; | 297 | return 1; |
296 | } | 298 | } |