From 1c2bf823383fa68a2dee5cdfb5cebfd0ecb2cda8 Mon Sep 17 00:00:00 2001 From: Chris Wright Date: Tue, 13 Sep 2005 09:56:37 -0700 Subject: [PATCH] Add fix for MPOL_F_VERIFY from Andi. --- queue/fix-MPOL_F_VERIFY.patch | 38 +++++++++++++++++++++++++++++++++++ queue/series | 1 + 2 files changed, 39 insertions(+) create mode 100644 queue/fix-MPOL_F_VERIFY.patch diff --git a/queue/fix-MPOL_F_VERIFY.patch b/queue/fix-MPOL_F_VERIFY.patch new file mode 100644 index 00000000000..5031a0e96ad --- /dev/null +++ b/queue/fix-MPOL_F_VERIFY.patch @@ -0,0 +1,38 @@ +From stable-bounces@linux.kernel.org Tue Sep 13 05:01:26 2005 +From: Andi Kleen +To: stable@kernel.org +Date: Tue, 13 Sep 2005 14:01:08 +0200 +Cc: linux-kernel@vger.kernel.org +Subject: [PATCH] Fix MPOL_F_VERIFY + +There was a pretty bad bug in there that the code would +always check the full VMA, not the range the user requested. + +When the VMA to be checked was merged with the previous VMA this +could lead to spurious failures. + +Signed-off-by: Andi Kleen +Signed-off-by: Chris Wright +--- + mm/mempolicy.c | 7 ++++++- + 1 files changed, 6 insertions(+), 1 deletion(-) + +Index: linux-2.6.13.y/mm/mempolicy.c +=================================================================== +--- linux-2.6.13.y.orig/mm/mempolicy.c ++++ linux-2.6.13.y/mm/mempolicy.c +@@ -333,8 +333,13 @@ check_range(struct mm_struct *mm, unsign + 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; diff --git a/queue/series b/queue/series index 130574a4970..0adf432514b 100644 --- a/queue/series +++ b/queue/series @@ -4,3 +4,4 @@ sungem-enable-and-map-pci-rom-properly.patch sunhme-enable-and-map-pci-rom-properly.patch netfilter-fix-dhcp-masquerade-problem.patch jfs_delete_inode-must-call-clear_inode.patch +fix-MPOL_F_VERIFY.patch -- 2.47.3