Re: [PATCH v2 1/3] mm: refactor vm_area_struct::anon_vma_name usage code
From: Michal Hocko
Date: Thu Feb 24 2022 - 03:36:28 EST
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
[...]
> +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