Re: [PATCH] bootmem: remove the vmemmap pages from kmemleak in free_bootmem_page

From: Andrew Morton
Date: Tue Jul 04 2023 - 12:28:48 EST


On Tue, 4 Jul 2023 18:19:42 +0800 Liu Shixin <liushixin2@xxxxxxxxxx> wrote:

> 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.

So I take it that with CONFIG_HAVE_BOOTMEM_INFO_NODE=n, the issue
described in dd0ff4d12dd2 still occurs? That kmemleak reports an error
and stops working?

So we want a cc:stable on this fix, yes?

> Fix the problem by adding kmemleak_free_part() in free_bootmem_page()
> when HAVE_BOOTMEM_INFO_NODE is disabled.
>
> Fixes: f41f2ed43ca5 ("mm: hugetlb: free the vmemmap pages associated with each HugeTLB page")
> ...