Re: [PATCH] binder_alloc: Add missing mmap_lock calls when using the VMA

From: Carlos Llamas
Date: Tue Aug 09 2022 - 17:03:52 EST


On Tue, Aug 09, 2022 at 07:02:17PM +0000, Liam Howlett wrote:
> >
> > do we need to hold on to the lock while we loop through the pages here?
>
> I think we do? Holding this lock will ensure the pages don't go away, I
> believe (looking at mm/rmap.c comments on locking at the top)?
>
> In any case, this function is called from print_binder_proc_stats()
> which looks to be a debugfs/debugging call so I thought safer would be
> better than faster and with a potential race.

The pages are protected by alloc->mutex, so you could immediately
release the mmap lock after binder_alloc_get_vma() call. I agree this
is a debugging call so it would be nice to reduce contention.