All of lore.kernel.org
 help / color / mirror / Atom feed
* [1/3] {PREFIX:-x86_64}: Fix MPOL_F_VERIFY
@ 2005-09-10 11:58 Andi Kleen
  0 siblings, 0 replies; only message in thread
From: Andi Kleen @ 2005-09-10 11:58 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel

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.

Index: linux-2.6.13-work/mm/mempolicy.c
===================================================================
--- linux-2.6.13-work.orig/mm/mempolicy.c
+++ linux-2.6.13-work/mm/mempolicy.c
@@ -338,8 +338,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;

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-09-10 11:59 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-10 11:58 [1/3] {PREFIX:-x86_64}: Fix MPOL_F_VERIFY Andi Kleen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.