* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox