* [merged] mm-anon-rmap-in-mremap-set-the-new-vmas-position-before-anon_vma_clone.patch removed from -mm tree
@ 2012-10-09 18:10 akpm
0 siblings, 0 replies; only message in thread
From: akpm @ 2012-10-09 18:10 UTC (permalink / raw)
To: walken, hughd, jslaby, levinsasha928, mm-commits
The patch titled
Subject: mm anon rmap: in mremap, set the new vma's position before anon_vma_clone()
has been removed from the -mm tree. Its filename was
mm-anon-rmap-in-mremap-set-the-new-vmas-position-before-anon_vma_clone.patch
This patch was dropped because it was merged into mainline or a subsystem tree
------------------------------------------------------
From: Michel Lespinasse <walken@google.com>
Subject: mm anon rmap: in mremap, set the new vma's position before anon_vma_clone()
anon_vma_clone() expects new_vma->vm_{start,end,pgoff} to be correctly set
so that the new vma can be indexed on the anon interval tree.
copy_vma() was failing to do that, which broke mremap().
Signed-off-by: Michel Lespinasse <walken@google.com>
Cc: Jiri Slaby <jslaby@suse.cz>
Cc: Hugh Dickins <hughd@google.com>
Tested-by: Sasha Levin <levinsasha928@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
mm/mmap.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff -puN mm/mmap.c~mm-anon-rmap-in-mremap-set-the-new-vmas-position-before-anon_vma_clone mm/mmap.c
--- a/mm/mmap.c~mm-anon-rmap-in-mremap-set-the-new-vmas-position-before-anon_vma_clone
+++ a/mm/mmap.c
@@ -2419,16 +2419,16 @@ struct vm_area_struct *copy_vma(struct v
new_vma = kmem_cache_alloc(vm_area_cachep, GFP_KERNEL);
if (new_vma) {
*new_vma = *vma;
+ new_vma->vm_start = addr;
+ new_vma->vm_end = addr + len;
+ new_vma->vm_pgoff = pgoff;
pol = mpol_dup(vma_policy(vma));
if (IS_ERR(pol))
goto out_free_vma;
+ vma_set_policy(new_vma, pol);
INIT_LIST_HEAD(&new_vma->anon_vma_chain);
if (anon_vma_clone(new_vma, vma))
goto out_free_mempol;
- vma_set_policy(new_vma, pol);
- new_vma->vm_start = addr;
- new_vma->vm_end = addr + len;
- new_vma->vm_pgoff = pgoff;
if (new_vma->vm_file)
get_file(new_vma->vm_file);
if (new_vma->vm_ops && new_vma->vm_ops->open)
_
Patches currently in -mm which might be from walken@google.com are
origin.patch
prio_tree-remove-fix.patch
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2012-10-09 18:11 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-10-09 18:10 [merged] mm-anon-rmap-in-mremap-set-the-new-vmas-position-before-anon_vma_clone.patch removed from -mm tree akpm
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.