On Mon, May 15, 2023, at 13:51, Dan Carpenter wrote: > On Mon, May 15, 2023 at 03:29:02PM +0530, Naresh Kamboju wrote: >> The selftests: mincore: mincore_selftest fails only on qemu-armv7 running > > tools/testing/selftests/mincore/mincore_selftest.c > 139 TEST(check_huge_pages) > 140 { > 141 unsigned char vec[1]; > 142 char *addr; > 143 int retval; > 144 int page_size; > 145 > 146 page_size = sysconf(_SC_PAGESIZE); > 147 > 148 errno = 0; > 149 addr = mmap(NULL, page_size, PROT_READ | PROT_WRITE, > 150 MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB, > 151 -1, 0); > 152 if (addr == MAP_FAILED) { > 153 if (errno == ENOMEM) > > On Armv7 is a 32bit machine so HUGETLB isn't enabled and the errno can > be -EINVAL. It's has returned this for 10 years. I expected it to be enabled on 32-bit as well, but I see that on normal ARMv7 without CONFIG_ARM_LPAE, it is indeed always turned off, and the asm/pgtable-2level.h does not define a way to use sections or supersections in user space: arch/arm/Kconfig: select ARCH_SUPPORTS_HUGETLBFS if ARM_LPAE Arnd