On 1 Sep 2025, at 3:22, David Hildenbrand wrote:

> On 31.08.25 04:27, Wei Yang wrote:
>
> Subject: "selftests/mm: verify page content after remapping PMD through PTEs"
>
>> After mremap(), add a check on content to see whether mremap corrupt
>> data.
>>
>> Signed-off-by: Wei Yang <richard.weiy...@gmail.com>
>>
>> ---
>> v2: add check on content instead of just test backed folio
>
> I'm confused, don't we have that exact check later in the function?
>
> Your v1 might have been better, unless I am missing something.
>
>> ---
>>   tools/testing/selftests/mm/split_huge_page_test.c | 6 +++++-
>>   1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/tools/testing/selftests/mm/split_huge_page_test.c 
>> b/tools/testing/selftests/mm/split_huge_page_test.c
>> index 10ae65ea032f..229b6dcabece 100644
>> --- a/tools/testing/selftests/mm/split_huge_page_test.c
>> +++ b/tools/testing/selftests/mm/split_huge_page_test.c
>> @@ -423,10 +423,14 @@ static void split_pte_mapped_thp(void)
>>      /* smap does not show THPs after mremap, use kpageflags instead */
>>      thp_size = 0;
>> -    for (i = 0; i < pagesize * 4; i++)
>> +    for (i = 0; i < pagesize * 4; i++) {
>> +            if (pte_mapped[i] != (char)i)
>> +                    ksft_exit_fail_msg("%ld byte corrupted\n", i);
>> +
>>              if (i % pagesize == 0 &&
>>                  is_backed_by_folio(&pte_mapped[i], pmd_order, pagemap_fd, 
>> kpageflags_fd))
>>                      thp_size++;
>> +    }
>>      if (thp_size != 4)
>>              ksft_exit_fail_msg("Some THPs are missing during mremap\n");
>
> I'm a bit confused with this test in general.
>
> We do a
>
> pte_mapped = mremap(one_page, pagesize, pagesize, MREMAP_MAYMOVE);
>
> which I read as a "NOP".
>
> Questions
>
> (a) Will this actually do anything? Also, maybe it does now, but can't the 
> kernel just optimize that out in the future?

It remaps each subpage of 4 PMD THPs into a contiguous 2MB vaddr range and
perform split on that range.

>
> (b) Is it even guaranteed that we can access > pagesize afterwards? I mean, 
> we specify MREMAP_MAYMOVE.
>
>
> I would suggest to just use mprotect/madvise to pte-map a PMD-THP.

If you want to test that, please add your own test case.


--
Best Regards,
Yan, Zi

Reply via email to