> On May 14, 2026, at 16:05, Oscar Salvador <[email protected]> wrote:
> 
> On Wed, May 13, 2026 at 09:04:32PM +0800, Muchun Song wrote:
>> Gigantic bootmem HugeTLB pages are currently initialized from hugetlb_init(),
>> but page_alloc_init_late() runs earlier and walks pageblocks to determine
>> zone contiguity.
>> 
>> If a bootmem HugeTLB region is marked noinit, set_zone_contiguous() can
>> observe still-uninitialized struct pages through __pageblock_pfn_to_page().
>> This may not trigger an immediate failure, but it can make
>> set_zone_contiguous() compute the wrong zone contiguity state. If extra
>> poisoned-page checks are added in this path, such as PF_POISONED_CHECK()
>> in page_zone_id(), it can also trigger an early boot panic.
>> 
>> Initialize gigantic bootmem HugeTLB struct pages from page_alloc_init_late(),
>> before zone contiguity is evaluated, so later page allocator setup only
>> sees valid struct page state. This also makes the initialization order
>> more natural, as struct pages should be initialized before later code
>> inspects them.
>> 
>> Fixes: fde1c4ecf916 ("mm: hugetlb: skip initialization of gigantic tail 
>> struct pages if freed by HVO")
>> Signed-off-by: Muchun Song <[email protected]>
> 
> Acked-by: Oscar Salvador <[email protected]>
> 

Thanks.

> but
> 
>> ---
>> include/linux/hugetlb.h | 5 +++++
>> mm/hugetlb.c            | 3 +--
>> mm/mm_init.c            | 1 +
>> 3 files changed, 7 insertions(+), 2 deletions(-)
>> 
>> diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
>> index 93418625d3c5..52a2c30f866c 100644
>> --- a/include/linux/hugetlb.h
>> +++ b/include/linux/hugetlb.h
>> @@ -173,6 +173,7 @@ extern int movable_gigantic_pages __read_mostly;
>> extern int sysctl_hugetlb_shm_group __read_mostly;
>> extern struct list_head huge_boot_pages[MAX_NUMNODES];
>> 
>> +void hugetlb_struct_page_init(void);
> 
> we lost the hint that this only takes care of bootmem pages.

Right.

> So I think hugetlb_bootmem_struct_page_init or something like that would make
> it more clear?

Yes. Make sense.

Thanks,
Muchun

> 
> 
> -- 
> Oscar Salvador
> SUSE Labs



Reply via email to