X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=mm%2Fmempolicy.c;h=9033f0859aa8c2f17bc66a55c7eb129092cc4a4d;hb=1dd465cac8d3ba18a9840d032f6604147269c031;hp=afa06e184d88a93311708bdfb1e15077859e29c4;hpb=e3e3679cfc1c6689e035f6d69606253b1eda63ca;p=powerpc.git diff --git a/mm/mempolicy.c b/mm/mempolicy.c index afa06e184d..9033f0859a 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -333,8 +333,13 @@ check_range(struct mm_struct *mm, unsigned long start, unsigned long end, if (prev && prev->vm_end < vma->vm_start) return ERR_PTR(-EFAULT); if ((flags & MPOL_MF_STRICT) && !is_vm_hugetlb_page(vma)) { + unsigned long endvma = vma->vm_end; + if (endvma > end) + endvma = end; + if (vma->vm_start > start) + start = vma->vm_start; err = check_pgd_range(vma->vm_mm, - vma->vm_start, vma->vm_end, nodes); + start, endvma, nodes); if (err) { first = ERR_PTR(err); break;