2022-05-06 09:30:19

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build warning after merge of the mm tree

Hi all,

After merging the mm tree, today's linux-next build (i386 allmodconfig
clang14) produced this warning:

mm/shmem.c:1704:7: error: variable 'folio' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]

Introduced by commit

2b58b3f33ba2 ("mm/shmem: convert shmem_swapin_page() to shmem_swapin_folio()")

'folio' is used in the error path.
--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2022-05-06 15:48:00

by Stephen Rothwell

[permalink] [raw]
Subject: Re: linux-next: build warning after merge of the mm tree

Hi all,

On Fri, 6 May 2022 07:35:37 +1000 Stephen Rothwell <[email protected]> wrote:
>
> After merging the mm tree, today's linux-next build (i386 allmodconfig
> clang14) produced this warning:
>
> mm/shmem.c:1704:7: error: variable 'folio' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
>
> Introduced by commit
>
> 2b58b3f33ba2 ("mm/shmem: convert shmem_swapin_page() to shmem_swapin_folio()")
>
> 'folio' is used in the error path.

This is actually a build failure.

--
Cheers,
Stephen Rothwell


Attachments:
(No filename) (499.00 B)
OpenPGP digital signature

2022-05-09 08:21:54

by Matthew Wilcox

[permalink] [raw]
Subject: Re: linux-next: build warning after merge of the mm tree

On Fri, May 06, 2022 at 07:35:37AM +1000, Stephen Rothwell wrote:
> Hi all,
>
> After merging the mm tree, today's linux-next build (i386 allmodconfig
> clang14) produced this warning:
>
> mm/shmem.c:1704:7: error: variable 'folio' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
>
> Introduced by commit
>
> 2b58b3f33ba2 ("mm/shmem: convert shmem_swapin_page() to shmem_swapin_folio()")
>
> 'folio' is used in the error path.

I sent a repacement series here:

https://lore.kernel.org/linux-mm/[email protected]/T/#t

I presume Andrew has not had a chance to integrate it yet. LSF/MM was
exhausting!

2022-05-12 13:08:45

by Johannes Weiner

[permalink] [raw]
Subject: Re: linux-next: build warning after merge of the mm tree

On Thu, May 12, 2022 at 07:46:07PM +1000, Stephen Rothwell wrote:
> Hi all,
>
> After merging the mm tree, today's linux-next build (powerpc allnoconfig,
> powerpc ppc44x_defconfig and arm64 defconfig) produced this warning:
>
> WARNING: unmet direct dependencies detected for ARCH_ENABLE_MEMORY_HOTREMOVE
> Depends on [n]: MEMORY_HOTPLUG [=n]
> Selected by [y]:
> - PPC [=y]
> Building: powerpc64 allnoconfig
>
> WARNING: unmet direct dependencies detected for ARCH_ENABLE_MEMORY_HOTREMOVE
> Depends on [n]: MEMORY_HOTPLUG [=n]
> Selected by [y]:
> - PPC [=y]
>
> WARNING: unmet direct dependencies detected for ARCH_ENABLE_MEMORY_HOTREMOVE
> Depends on [n]: MEMORY_HOTPLUG [=n]
> Selected by [y]:
> - ARM64 [=y]
>
> WARNING: unmet direct dependencies detected for ARCH_ENABLE_MEMORY_HOTREMOVE
> Depends on [n]: MEMORY_HOTPLUG [=n]
> Selected by [y]:
> - ARM64 [=y]
>
> Probably introduced by commit
>
> 52bc69c65c03 ("mm: Kconfig: group swap, slab, hotplug and thp options into submenus")

Sorry about the noise, I must be blind. And x86 does
arch/x86/Kconfig: select ARCH_ENABLE_MEMORY_HOTREMOVE if MEMORY_HOTPLUG
that's why it didn't trigger for me.

This should be the last one, I triple checked the commit.

---

From 588d2c5ba815df3b8028e198b7543a5450c24b33 Mon Sep 17 00:00:00 2001
From: Johannes Weiner <[email protected]>
Date: Thu, 12 May 2022 08:11:17 -0400
Subject: [PATCH] mm: Kconfig: group swap, slab, hotplug and thp options into
submenus fix fix

WARNING: unmet direct dependencies detected for ARCH_ENABLE_MEMORY_HOTREMOVE
Depends on [n]: MEMORY_HOTPLUG [=n]
Selected by [y]:
- PPC [=y]

This is a symbol for the architecture to declare a feature. It mustn't
be conditional on user selection. Move it out of 'if MEMORY_HOTPLUG'.

Reported-by: Stephen Rothwell <[email protected]>
Signed-off-by: Johannes Weiner <[email protected]>
---
mm/Kconfig | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/mm/Kconfig b/mm/Kconfig
index c2f4a547ab00..f63d8dc36511 100644
--- a/mm/Kconfig
+++ b/mm/Kconfig
@@ -436,6 +436,9 @@ config HAVE_BOOTMEM_INFO_NODE
config ARCH_ENABLE_MEMORY_HOTPLUG
bool

+config ARCH_ENABLE_MEMORY_HOTREMOVE
+ bool
+
# eventually, we can have this option just 'select SPARSEMEM'
menuconfig MEMORY_HOTPLUG
bool "Memory hotplug"
@@ -462,9 +465,6 @@ config MEMORY_HOTPLUG_DEFAULT_ONLINE
Say N here if you want the default policy to keep all hot-plugged
memory blocks in 'offline' state.

-config ARCH_ENABLE_MEMORY_HOTREMOVE
- bool
-
config MEMORY_HOTREMOVE
bool "Allow for memory hot remove"
select HAVE_BOOTMEM_INFO_NODE if (X86_64 || PPC64)
--
2.35.3