Re: [PATCH] [v2] mm: make arch_has_descending_max_zone_pfns() static

From: SeongJae Park
Date: Mon Apr 17 2023 - 14:55:34 EST


On Sat, 15 Apr 2023 10:18:20 +0200 Arnd Bergmann <arnd@xxxxxxxxxx> wrote:

> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> clang produces a build failure on x86 for some randconfig builds
> after a change that moves around code to mm/mm_init.c:
>
> Cannot find symbol for section 2: .text.
> mm/mm_init.o: failed
>
> I have not been able to figure out why this happens, but the __weak
> annotation on arch_has_descending_max_zone_pfns() is the trigger here.
>
> Removing the weak function in favor of an open-coded Kconfig option
> check avoids the problem and becomes clearer as well as better to
> optimize by the compiler.
>
> Fixes: 9420f89db2dd ("mm: move most of core MM initialization to mm/mm_init.c")
> Cc: llvm@xxxxxxxxxxxxxxx
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> v2: fix logic bug reported-by: kernel test robot <oliver.sang@xxxxxxxxx>,
> see https://lore.kernel.org/oe-lkp/202304151422.5e4d380b-oliver.sang@xxxxxxxxx

I was also encountering similar issue, and confirmed replacing the old version
of this patch with this one fixes it.

Tested-by: SeongJae Park <sj@xxxxxxxxxx>


Thanks,
SJ

> ---
> arch/arc/mm/init.c | 5 -----
> include/linux/mm.h | 1 -
> mm/mm_init.c | 4 ++--
> 3 files changed, 2 insertions(+), 8 deletions(-)