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

From: Andrew Morton
Date: Tue Aug 09 2022 - 21:31:12 EST


On Tue, 9 Aug 2022 21:01:55 +0000 Carlos Llamas <cmllamas@xxxxxxxxxx> wrote:

> 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.

I'll queue this patch for testing, shall update it if there's a v2.