lkml.org 
[lkml]   [2010]   [Sep]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[40/80] mmap: call unlink_anon_vmas() in __split_vma() in case of error
    2.6.35-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Andrea Arcangeli <aarcange@redhat.com>

    commit 2aeadc30de45a72648f271603203ab392b80f607 upstream.

    If __split_vma fails because of an out of memory condition the
    anon_vma_chain isn't teardown and freed potentially leading to rmap walks
    accessing freed vma information plus there's a memleak.

    Signed-off-by: Andrea Arcangeli <aarcange@redhat.com>
    Acked-by: Johannes Weiner <jweiner@redhat.com>
    Acked-by: Rik van Riel <riel@redhat.com>
    Acked-by: Hugh Dickins <hughd@google.com>
    Cc: Marcelo Tosatti <mtosatti@redhat.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    mm/mmap.c | 1 +
    1 file changed, 1 insertion(+)

    --- a/mm/mmap.c
    +++ b/mm/mmap.c
    @@ -1997,6 +1997,7 @@ static int __split_vma(struct mm_struct
    removed_exe_file_vma(mm);
    fput(new->vm_file);
    }
    + unlink_anon_vmas(new);
    out_free_mpol:
    mpol_put(pol);
    out_free_vma:



    \
     
     \ /
      Last update: 2010-09-27 20:09    [W:0.039 / U:29.848 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site