From 7b89fc98e6e6e79774109adf40e38416e56dd880 Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Tue, 13 Sep 2005 01:25:08 -0700 Subject: [PATCH] --- yaml --- r: 8749 b: refs/heads/master c: 5b952b3c143660b6436fcb299b249cefde61c18d h: refs/heads/master i: 8747: a244c0f766029bc405ad6b186e61704c9e8c1084 v: v3 --- [refs] | 2 +- trunk/mm/mempolicy.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 64e398554ed2..32296171dbd8 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8d0986e289a4b018fec87fcc49538945fb401f37 +refs/heads/master: 5b952b3c143660b6436fcb299b249cefde61c18d diff --git a/trunk/mm/mempolicy.c b/trunk/mm/mempolicy.c index afa06e184d88..9033f0859aa8 100644 --- a/trunk/mm/mempolicy.c +++ b/trunk/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;