Subject: Re: linux-next: build failure after merge of the mm tree

From: Michael Walle <[email-masked]>
Date: Fri, 23 Sep 2022 11:50:13 +0200

Hi,

> After merging the mm tree, today's linux-next build (powerpc
> ppc64_defconfig) failed like this:
> 
> drivers/base/memory.c: In function 'memory_block_online':
> drivers/base/memory.c:186:34: error: 'struct memory_block' has no member na=
> med 'nr_hwpoison'
>   186 |         if (atomic_long_read(&mem->nr_hwpoison))
>       |                                  ^~
> drivers/base/memory.c: In function 'remove_memory_block_devices':
> drivers/base/memory.c:870:61: error: 'struct memory_block' has no member na=
> med 'nr_hwpoison'
>   870 |                 clear_hwpoisoned_pages(atomic_long_read(&mem->nr_hw=
> poison));
>       |                                                             ^~
> 
> Caused by commit
> 
>   69b496f03bb4 ("mm/hwpoison: introduce per-memory_block hwpoison counter")
> 
> This build has CONFIG_MEMORY_FAILURE not set.

There also seems be more missing stubs. I'm getting:

aarch64-linux-gnu-ld: mm/memory-failure.o: in function `unpoison_memory':
memory-failure.c:(.text+0x1c38): undefined reference to `memblk_nr_poison_sub'
aarch64-linux-gnu-ld: mm/memory-failure.o: in function `num_poisoned_pages_inc':
memory-failure.c:(.text+0x2c8c): undefined reference to `memblk_nr_poison_inc'
aarch64-linux-gnu-ld: memory-failure.c:(.text+0x2cbc): undefined reference to `memblk_nr_poison_inc'

On a board where CONFIG_MEMORY_HOTPLUG is not set, but
CONFIG_MEMORY_FAILURE is. So either there are stubs missing or
MEMORY_FAILURE should depend MEMORY_HOTPLUG (?!).

-michael