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

From: Liu Shixin
Date: Tue Jul 04 2023 - 21:17:54 EST




On 2023/7/5 0:28, Andrew Morton wrote:
> 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?
Yes, you're right.
>
> So we want a cc:stable on this fix, yes?
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")
>> ...
> .
>