On Tue, Aug 05, 2025 at 10:20:43PM -0400, Zi Yan wrote:
[...]
>
>- if (in_folio_offset < 0 ||
>- in_folio_offset >= folio_nr_pages(folio)) {
>+ if (in_folio_offset < 0 || in_folio_offset >= nr_pages) {
> if (!split_folio_to_order(folio, target_order))
> split++;
> } else {
>- struct page *split_at = folio_page(folio,
>- in_folio_offset);
>- if (!folio_split(folio, target_order, split_at, NULL))
>+ struct page *split_at =
>+ folio_page(folio, in_folio_offset);
>+ if (!folio_split(folio, target_order, split_at, NULL)) {
> split++;
>+ addr += PAGE_SIZE * nr_pages;
>+ }
Are we sure addr points to the folio start?
--
Wei Yang
Help you, Help me