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

From: Michael Walle
Date: Fri Sep 23 2022 - 05:50:33 EST


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