Re: [PATCH 6.1.y] selftests/mm: Move default_huge_page_size to vm_util.c

Leon Hwang
2025-10-22T13:35:27Z

On 2025/10/22 16:20, Greg KH wrote:
> On Wed, Oct 22, 2025 at 04:08:45PM +0800, Leon Hwang wrote:
>>
>>
>> On 22/10/25 15:40, Greg KH wrote:
>>> On Wed, Oct 22, 2025 at 01:51:38PM +0800, Leon Hwang wrote:
>>>> Fix the build error:
>>>>
>>>> map_hugetlb.c: In function 'main':
>>>> map_hugetlb.c:79:25: warning: implicit declaration of function 'default_huge_page_size' [-Wimplicit-function-declaration]
>>>> 79 | hugepage_size = default_huge_page_size();
>>>> | ^~~~~~~~~~~~~~~~~~~~~~
>>>> /usr/bin/ld: /tmp/ccYOogvJ.o: in function 'main':
>>>> map_hugetlb.c:(.text+0x114): undefined reference to 'default_huge_page_size'
>>>>
>>>> According to the latest selftests, 'default_huge_page_size' has been
>>>> moved to 'vm_util.c'. So fix the error by the same way.
>>>>
>>>> Reviewed-by: Lance Yang <lance.yang@linux.dev>
>>>> Signed-off-by: Leon Hwang <leon.hwang@linux.dev>
>>>> ---
>>>> tools/testing/selftests/vm/Makefile | 1 +
>>>> tools/testing/selftests/vm/userfaultfd.c | 24 ------------------------
>>>> tools/testing/selftests/vm/vm_util.c | 21 +++++++++++++++++++++
>>>> tools/testing/selftests/vm/vm_util.h | 1 +
>>>> 4 files changed, 23 insertions(+), 24 deletions(-)
>>>
>>>
>>> What commit id does this fix? And again, why not just take the original
>>
>> Let me check which commit introduced the fix.
>>
>>> commits instead?
>>
>> I agree that taking the original commits would be preferable.
>>
>> However, it might involve quite a few patches to backport, which could
>> be a bit of work.
>
> We can easily take lots of patches, don't worry about the quantity. But
> it would be good to figure out what caused this to break here, and not
> in other branches.
>

Hi Greg,

After checking with 'git blame map_hugetlb.c', the issue was introduced
by commit a584c7734a4d (“selftests: mm: fix map_hugetlb failure on 64K
page size systems”), which corresponds to upstream commit 91b80cc5b39f.
This change appears to have caused the build error in the 6.1.y tree.

Comparing several stable trees shows the following:

- 6.0.y: not backported*
- 6.1.y: backported
- 6.2.y: not backported*
- 6.3.y: not backported*
- 6.4.y: not backported*
- 6.5.y: not backported*
- 6.6.y: backported
- 6.7.y: backported

Given this, it might be preferable to revert a584c7734a4d in 6.1.y for
consistency with the other stable trees (6.0.y, 6.2–6.5.y).

WDYT?

Thanks,
Leon