On 7 Aug 2025, at 4:55, Wei Yang wrote:

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

David pointed it out. Will use addr += PAGE_SIZE * (nr_pages - 1).

--
Best Regards,
Yan, Zi

Reply via email to