Re: [PATCH v3] mm/huge_memory: do not change split_huge_page*() target order silently.
From: Zi Yan
Date: Tue Oct 21 2025 - 11:57:19 EST
On 21 Oct 2025, at 11:42, David Hildenbrand wrote:
> On 17.10.25 03:36, Zi Yan wrote:
>> Page cache folios from a file system that support large block size (LBS)
>> can have minimal folio order greater than 0, thus a high order folio might
>> not be able to be split down to order-0. Commit e220917fa507 ("mm: split a
>> folio in minimum folio order chunks") bumps the target order of
>> split_huge_page*() to the minimum allowed order when splitting a LBS folio.
>> This causes confusion for some split_huge_page*() callers like memory
>> failure handling code, since they expect after-split folios all have
>> order-0 when split succeeds but in reality get min_order_for_split() order
>> folios and give warnings.
>>
>> Fix it by failing a split if the folio cannot be split to the target order.
>> Rename try_folio_split() to try_folio_split_to_order() to reflect the added
>> new_order parameter. Remove its unused list parameter.
>>
>> Fixes: e220917fa507 ("mm: split a folio in minimum folio order chunks")
>> [The test poisons LBS folios, which cannot be split to order-0 folios, and
>> also tries to poison all memory. The non split LBS folios take more memory
>> than the test anticipated, leading to OOM. The patch fixed the kernel
>> warning and the test needs some change to avoid OOM.]
>> Reported-by: syzbot+e6367ea2fdab6ed46056@xxxxxxxxxxxxxxxxxxxxxxxxx
>> Closes: https://lore.kernel.org/all/68d2c943.a70a0220.1b52b.02b3.GAE@xxxxxxxxxx/
>> Cc: stable@xxxxxxxxxxxxxxx
>> Signed-off-by: Zi Yan <ziy@xxxxxxxxxx>
>> Reviewed-by: Luis Chamberlain <mcgrof@xxxxxxxxxx>
>> Reviewed-by: Pankaj Raghav <p.raghav@xxxxxxxxxxx>
>> Reviewed-by: Wei Yang <richard.weiyang@xxxxxxxxx>
>> ---
>
> With Lorenzos comments addressed, this looks good to me, thanks for taking care of this!
Just to be clear, I do not need to respin a new version of this, since all
Lorenzo’s comments are addressed in my reply except the changelog one, right?
>
> Acked-by: David Hildenbrand <david@xxxxxxxxxx>
>
> --
> Cheers
>
> David / dhildenb
Best Regards,
Yan, Zi