Re: [PATCH v7 05/17] mm: mark vmas detached upon exit
From: Suren Baghdasaryan
Date: Tue Jan 07 2025 - 12:15:53 EST
On Tue, Jan 7, 2025 at 9:08 AM Vlastimil Babka <vbabka@xxxxxxx> wrote:
>
> On 12/26/24 18:06, Suren Baghdasaryan wrote:
> > When exit_mmap() removes vmas belonging to an exiting task, it does not
> > mark them as detached since they can't be reached by other tasks and they
> > will be freed shortly. Once we introduce vma reuse, all vmas will have to
> > be in detached state before they are freed to ensure vma when reused is
> > in a consistent state. Add missing vma_mark_detached() before freeing the
> > vma.
> >
> > Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
>
> Reviewed-by: Vlastimil Babka <vbabka@xxxxxxx>
>
> > ---
> > mm/vma.c | 5 +++--
> > 1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/mm/vma.c b/mm/vma.c
> > index ce113dd8c471..4a3deb6f9662 100644
> > --- a/mm/vma.c
> > +++ b/mm/vma.c
> > @@ -413,9 +413,10 @@ void remove_vma(struct vm_area_struct *vma, bool unreachable)
> > if (vma->vm_file)
> > fput(vma->vm_file);
> > mpol_put(vma_policy(vma));
> > - if (unreachable)
> > + if (unreachable) {
> > + vma_mark_detached(vma);
> > __vm_area_free(vma);
> > - else
> > + } else
> > vm_area_free(vma);
>
> Nit: per style this should be { } too now.
Thanks. Will fix it in the next version since I have to respin the
series anyway.
>
> > }
> >
>