Hi all, 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 named '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 named 'nr_hwpoison' 870 | clear_hwpoisoned_pages(atomic_long_read(&mem->nr_hwpoison)); | ^~ Caused by commit 69b496f03bb4 ("mm/hwpoison: introduce per-memory_block hwpoison counter") This build has CONFIG_MEMORY_FAILURE not set. I have applied the following fix patch for today. From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Fri, 23 Sep 2022 17:50:50 +1000 Subject: [PATCH] fix up for "mm/hwpoison: introduce per-memory_block hwpoison counter" Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> --- drivers/base/memory.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/base/memory.c b/drivers/base/memory.c index c9bde4c4ffdf..143c63ceb4c3 100644 --- a/drivers/base/memory.c +++ b/drivers/base/memory.c @@ -183,8 +183,10 @@ static int memory_block_online(struct memory_block *mem) struct zone *zone; int ret; +#ifdef CONFIG_MEMORY_FAILURE if (atomic_long_read(&mem->nr_hwpoison)) return -EHWPOISON; +#endif zone = zone_for_pfn_range(mem->online_type, mem->nid, mem->group, start_pfn, nr_pages); @@ -867,7 +869,9 @@ void remove_memory_block_devices(unsigned long start, unsigned long size) mem = find_memory_block_by_id(block_id); if (WARN_ON_ONCE(!mem)) continue; +#ifdef CONFIG_MEMORY_FAILURE clear_hwpoisoned_pages(atomic_long_read(&mem->nr_hwpoison)); +#endif unregister_memory_block_under_nodes(mem); remove_memory_block(mem); } -- 2.35.1 -- Cheers, Stephen Rothwell
Attachment:
pgp95DzDaNkKt.pgp
Description: OpenPGP digital signature