Re: [PATCH v2 1/3] mm: refactor vm_area_struct::anon_vma_name usage code

From: Suren Baghdasaryan
Date: Thu Feb 24 2022 - 18:23:07 EST


On Thu, Feb 24, 2022 at 12:36 AM Michal Hocko <mhocko@xxxxxxxx> wrote:
>
> On Wed 23-02-22 07:36:11, Suren Baghdasaryan wrote:
> > Avoid mixing strings and their anon_vma_name referenced pointers
> > by using struct anon_vma_name whenever possible. This simplifies
> > the code and allows easier sharing of anon_vma_name structures when
> > they represent the same name.
> >
> > Suggested-by: Matthew Wilcox <willy@xxxxxxxxxxxxx>
> > Suggested-by: Michal Hocko <mhocko@xxxxxxxx>
> > Signed-off-by: Suren Baghdasaryan <surenb@xxxxxxxxxx>
>
> LGTM
> Acked-by: Michal Hocko <mhocko@xxxxxxxx>
>
> Thanks and one minor nit below

Addressed all the nits in the next version:
https://lore.kernel.org/all/20220224231834.1481408-1-surenb@xxxxxxxxxx/
Thanks!

>
> [...]
> > +static inline void free_anon_vma_name(struct vm_area_struct *vma)
> > {
> > - const char *vma_name = vma_anon_name(vma);
> > + /*
> > + * Not using anon_vma_name because it generates a warning if vma->vm_mm
> > + * is not held, which might be the case here.
>
> s@vma->vm_mm@mmap_lock@
>
> > + */
> > + if (!vma->vm_file)
> > + anon_vma_name_put(vma->anon_name);
> > +}
> >
> > - /* either both NULL, or pointers to same string */
> > - if (vma_name == name)
>
> --
> Michal Hocko
> SUSE Labs