From: Rik van Riel Date: Mon, 5 Apr 2010 16:13:33 +0000 (-0400) Subject: rmap: fix anon_vma_fork() memory leak X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=4946d54cb55e86a156216fcfeed5568514b0830f;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git rmap: fix anon_vma_fork() memory leak Fix a memory leak in anon_vma_fork(), where we fail to tear down the anon_vmas attached to the new VMA in case setting up the new anon_vma fails. This bug also has the potential to leave behind anon_vma_chain structs with pointers to invalid memory. Reported-by: Minchan Kim Signed-off-by: Rik van Riel Signed-off-by: Linus Torvalds --- diff --git a/mm/rmap.c b/mm/rmap.c index fcd593c9c997..eaa7a09eb72e 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -232,6 +232,7 @@ int anon_vma_fork(struct vm_area_struct *vma, struct vm_area_struct *pvma) out_error_free_anon_vma: anon_vma_free(anon_vma); out_error: + unlink_anon_vmas(vma); return -ENOMEM; }