bootmem: remove the vmemmap pages from kmemleak in free_bootmem_page
authorLiu Shixin <liushixin2@huawei.com>
Tue, 4 Jul 2023 10:19:42 +0000 (18:19 +0800)
committerAndrew Morton <akpm@linux-foundation.org>
Sat, 8 Jul 2023 16:29:31 +0000 (09:29 -0700)
commit028725e73375a1ff080bbdf9fb503306d0116f28
tree88c4520e9142518e1b8e8653934a57298dfc5397
parent0d707cdefb3b7f52d23967e1473d24d591329e13
bootmem: remove the vmemmap pages from kmemleak in free_bootmem_page

commit dd0ff4d12dd2 ("bootmem: remove the vmemmap pages from kmemleak in
put_page_bootmem") fix an overlaps existing problem of kmemleak.  But the
problem still existed when HAVE_BOOTMEM_INFO_NODE is disabled, because in
this case, free_bootmem_page() will call free_reserved_page() directly.

Fix the problem by adding kmemleak_free_part() in free_bootmem_page() when
HAVE_BOOTMEM_INFO_NODE is disabled.

Link: https://lkml.kernel.org/r/20230704101942.2819426-1-liushixin2@huawei.com
Fixes: f41f2ed43ca5 ("mm: hugetlb: free the vmemmap pages associated with each HugeTLB page")
Signed-off-by: Liu Shixin <liushixin2@huawei.com>
Acked-by: Muchun Song <songmuchun@bytedance.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
include/linux/bootmem_info.h