• Carlos Llamas's avatar
    Revert "android: binder: stop saving a pointer to the VMA" · c0fd2101
    Carlos Llamas authored
    This reverts commit a43cfc87.
    
    This patch fixed an issue reported by syzkaller in [1]. However, this
    turned out to be only a band-aid in binder. The root cause, as bisected
    by syzkaller, was fixed by commit 5789151e ("mm/mmap: undo ->mmap()
    when mas_preallocate() fails"). We no longer need the patch for binder.
    
    Reverting such patch allows us to have a lockless access to alloc->vma
    in specific cases where the mmap_lock is not required. This approach
    avoids the contention that caused a performance regression.
    
    [1] https://lore.kernel.org/all/0000000000004a0dbe05e1d749e0@google.com
    
    [cmllamas: resolved conflicts with rework of alloc->mm and removal of
     binder_alloc_set_vma() also fixed comment section]
    
    Fixes: a43cfc87 ("android: binder: stop saving a pointer to the VMA")
    Cc: Liam Howlett <liam.howlett@oracle.com>
    Cc: Suren Baghdasaryan <surenb@google.com>
    Cc: stable@vger.kernel.org
    Signed-off-by: Carlos Llama...
    c0fd2101
binder_alloc.h 6.35 KB