summaryrefslogtreecommitdiffstats
path: root/mm/rmap.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-04-07 11:03:02 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-04-07 11:03:02 +0200
commitc610f7f772aa06ae2bd8e5ace87cde4d90f70198 (patch)
tree6991a32acd3d63685c184734869877707fa73d1c /mm/rmap.c
parentstaging: lustre: orthography & coding style (diff)
parentLinux 4.0-rc7 (diff)
downloadlinux-c610f7f772aa06ae2bd8e5ace87cde4d90f70198.tar.xz
linux-c610f7f772aa06ae2bd8e5ace87cde4d90f70198.zip
Merge 4.0-rc7 into staging-next
We want those fixes (iio primarily) into the -next branch to help with merge and testing issues. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'mm/rmap.c')
-rw-r--r--mm/rmap.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/mm/rmap.c b/mm/rmap.c
index 5e3e09081164..c161a14b6a8f 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -287,6 +287,13 @@ int anon_vma_clone(struct vm_area_struct *dst, struct vm_area_struct *src)
return 0;
enomem_failure:
+ /*
+ * dst->anon_vma is dropped here otherwise its degree can be incorrectly
+ * decremented in unlink_anon_vmas().
+ * We can safely do this because callers of anon_vma_clone() don't care
+ * about dst->anon_vma if anon_vma_clone() failed.
+ */
+ dst->anon_vma = NULL;
unlink_anon_vmas(dst);
return -ENOMEM;
}