mm: fix vma->anon_name memory leak for anonymous shmem VMAs
authorSuren Baghdasaryan <surenb@google.com>
Thu, 5 Jan 2023 00:02:40 +0000 (16:02 -0800)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 12 Jan 2023 00:14:20 +0000 (16:14 -0800)
commita1193de562f54c7c9f60ca9f2db96e50a7608de1
tree84e57f83389e63cd3c9e69ca17ef97465d1f32cd
parent3de0c269adc6c2fac0bb1fb11965f0de699dc32b
mm: fix vma->anon_name memory leak for anonymous shmem VMAs

free_anon_vma_name() is missing a check for anonymous shmem VMA which
leads to a memory leak due to refcount not being dropped.  Fix this by
calling anon_vma_name_put() unconditionally.  It will free vma->anon_name
whenever it's non-NULL.

Link: https://lkml.kernel.org/r/20230105000241.1450843-1-surenb@google.com
Fixes: d09e8ca6cb93 ("mm: anonymous shared memory naming")
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Suggested-by: David Hildenbrand <david@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reported-by: syzbot+91edf9178386a07d06a7@syzkaller.appspotmail.com
Cc: Hugh Dickins <hughd@google.com>
Cc: Pasha Tatashin <pasha.tatashin@soleen.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/linux/mm_inline.h