Hi Dan,
On Wed, Feb 19, 2025 at 06:43:52PM +0300, Dan Carpenter wrote:
What's happening is that we backport the latest kselftests and run them on the old kernels. This is a supported thing so kselftests are supposed to be able to handle that.
Yes, I do this occasionally as well (a single rootfs with the kselftests that I use with different kernels).
So we need to modify the testing/selftests/arm64/mte/check_hugetlb_options.c to check if the feature is present and disable the test for older kernels.
I'm not worried about the test failing yet, we can solve it later, but rather the WARN_ON_ONCE() in the arm64 copy_highpage(). We should not trigger this condition since hugetlb vmas don't have VM_MTE_ALLOWED set, so PROT_MTE mappings should be refused and the test shouldn't get any mapping.
I tried vanilla 6.6 and it trips over as well, so something wrong in how we handle MTE hugetlb pages. I'm looking into it.