Re: Kunit: kernel/resource.c: In function 'gfr_start': include/linux/mm.h:101:35: error: 'MAX_PHYSMEM_BITS' undeclared (first use in this function)
From: Huang, Ying <hidden>
Date: 2024-09-11 01:14:53
Also in:
lkml
Hi, Arnd, "Arnd Bergmann" [off-list ref] writes:
quoted hunk
On Mon, Sep 9, 2024, at 20:00, Naresh Kamboju wrote:quoted
The arm kunit builds failed on the Linux next-20240909 due to following build warnings / errors with gcc-13 and clang-19 with extra Kconfigs CONFIG_OF_KUNIT_TEST=y CONFIG_KASAN=y CONFIG_KUNIT=y CONFIG_KUNIT_ALL_TESTS=y First seen on next-20240909 Good: next-20240906 BAD: next-20240909 Reported-by: Linux Kernel Functional Testing <redacted>This patch below addresses the build regression, not sure if that is what we want. Arndquoted
From 39601b1274354c710368f5cf40fe9e32540f7591 Mon Sep 17 00:00:00 2001From: Arnd Bergmann <arnd@arndb.de> Date: Mon, 9 Sep 2024 13:10:21 +0000 Subject: [PATCH] resource, kunit: add sparsemem dependency The testcase now selects CONFIG_GET_FREE_REGION, but that is only available for sparsemem configurations: WARNING: unmet direct dependencies detected for GET_FREE_REGION Depends on [n]: SPARSEMEM [=n] Selected by [m]: - RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=y] In file included from include/linux/ioport.h:15, from kernel/resource.c:15: kernel/resource.c: In function 'gfr_start': include/linux/mm.h:101:35: error: 'MAX_PHYSMEM_BITS' undeclared (first use in this function) 101 | # define PHYSMEM_END ((1ULL << MAX_PHYSMEM_BITS) - 1) kernel/resource.c:1874:57: note: in expansion of macro 'PHYSMEM_END' 1874 | end = min_t(resource_size_t, base->end, PHYSMEM_END); | ^~~~~~~~~~~ It may be better to extend this to non-sparsemem, but a Kconfig dependency is the easiest way to address the build failure at the moment. Fixes: e2941fe697c8 ("resource, kunit: add test case for region_intersects()") Signed-off-by: Arnd Bergmann <arnd@arndb.de>diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index b986050fc7e0..4c081a28fe96 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug@@ -2632,6 +2632,7 @@ config HASH_KUNIT_TEST config RESOURCE_KUNIT_TEST tristate "KUnit test for resource API" if !KUNIT_ALL_TESTS depends on KUNIT + depends on SPARSEMEM default KUNIT_ALL_TESTS select GET_FREE_REGION help
Thanks for the fixing patch. I think that this is caused by merge conflict. For the fix, IMHO, resource kunit test may be used on architectures with SPARSEMEM=n. I have a fix patch in, https://lore.kernel.org/linux-mm/87wmjkyshl.fsf@yhuang6-desk2.ccr.corp.intel.com/ (local) -- Best Regards, Huang, Ying