diff options
author | Ingo Molnar <mingo@kernel.org> | 2013-08-15 10:00:09 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2013-08-15 10:00:09 +0200 |
commit | c9572f010d369d9905309f63e31180f291b66a8a (patch) | |
tree | fbca2a0576c4223790e23a3c1d5f50e2bdf64e10 /mm/mempolicy.c | |
parent | 58cea307432e3376293e6b2be88d1f6e6e99274a (diff) | |
parent | d4e4ab86bcba5a72779c43dc1459f71fea3d89c8 (diff) | |
download | linux-c9572f010d369d9905309f63e31180f291b66a8a.tar.bz2 |
Merge tag 'v3.11-rc5' into perf/core
Merge Linux 3.11-rc5, to sync up with the latest upstream fixes since -rc1.
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'mm/mempolicy.c')
-rw-r--r-- | mm/mempolicy.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 74310017296e..4baf12e534d1 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -732,7 +732,10 @@ static int mbind_range(struct mm_struct *mm, unsigned long start, if (prev) { vma = prev; next = vma->vm_next; - continue; + if (mpol_equal(vma_policy(vma), new_pol)) + continue; + /* vma_merge() joined vma && vma->next, case 8 */ + goto replace; } if (vma->vm_start != vmstart) { err = split_vma(vma->vm_mm, vma, vmstart, 1); @@ -744,6 +747,7 @@ static int mbind_range(struct mm_struct *mm, unsigned long start, if (err) goto out; } + replace: err = vma_replace_policy(vma, new_pol); if (err) goto out; |