lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c9a748cb2ee6145a3ffe85ca55a28b990f6be68c.camel@physik.fu-berlin.de>
Date:   Mon, 20 Mar 2023 21:13:36 +0100
From:   John Paul Adrian Glaubitz <glaubitz@...sik.fu-berlin.de>
To:     Randy Dunlap <rdunlap@...radead.org>, linux-kernel@...r.kernel.org
Cc:     Geert Uytterhoeven <geert@...ux-m68k.org>,
        Yoshinori Sato <ysato@...rs.sourceforge.jp>,
        Rich Felker <dalias@...c.org>, linux-sh@...r.kernel.org,
        stable@...r.kernel.org
Subject: Re: [PATCH 6/7 v4] sh: fix Kconfig entry for NUMA => SMP

Hi Randy!

On Sun, 2023-03-19 at 21:20 +0100, John Paul Adrian Glaubitz wrote:
> On Sun, 2023-03-05 at 20:00 -0800, Randy Dunlap wrote:
> > Fix SUPERH builds that select SYS_SUPPORTS_NUMA but do not select
> > SYS_SUPPORTS_SMP and SMP.
> > 
> > kernel/sched/topology.c is only built for CONFIG_SMP and then the NUMA
> > code + data inside topology.c is only built when CONFIG_NUMA is
> > set/enabled, so these arch/sh/ configs need to select SMP and
> > SYS_SUPPORTS_SMP to build the NUMA support.
> > 
> > Fixes this build error in multiple SUPERH configs:
> > 
> > mm/page_alloc.o: In function `get_page_from_freelist':
> > page_alloc.c:(.text+0x2ca8): undefined reference to `node_reclaim_distance'
> > 
> > Fixes: 357d59469c11 ("sh: Tidy up dependencies for SH-2 build.")
> > Fixes: 9109a30e5a54 ("sh: add support for sh7366 processor")
> > Signed-off-by: Randy Dunlap <rdunlap@...radead.org>
> > Reported-by: Geert Uytterhoeven <geert@...ux-m68k.org>
> > Cc: John Paul Adrian Glaubitz <glaubitz@...sik.fu-berlin.de>
> > Cc: Yoshinori Sato <ysato@...rs.sourceforge.jp>
> > Cc: Rich Felker <dalias@...c.org>
> > Cc: linux-sh@...r.kernel.org
> > Cc: stable@...r.kernel.org
> > ---
> > v2: skipped
> > v3: skipped
> > v4: refresh & resend
> > 
> >  arch/sh/Kconfig |    4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff -- a/arch/sh/Kconfig b/arch/sh/Kconfig
> > --- a/arch/sh/Kconfig
> > +++ b/arch/sh/Kconfig
> > @@ -477,6 +477,8 @@ config CPU_SUBTYPE_SH7722
> >  	select CPU_SHX2
> >  	select ARCH_SHMOBILE
> >  	select ARCH_SPARSEMEM_ENABLE
> > +	select SYS_SUPPORTS_SMP
> > +	select SMP
> >  	select SYS_SUPPORTS_NUMA
> >  	select SYS_SUPPORTS_SH_CMT
> >  	select PINCTRL
> > @@ -487,6 +489,8 @@ config CPU_SUBTYPE_SH7366
> >  	select CPU_SHX2
> >  	select ARCH_SHMOBILE
> >  	select ARCH_SPARSEMEM_ENABLE
> > +	select SYS_SUPPORTS_SMP
> > +	select SMP
> >  	select SYS_SUPPORTS_NUMA
> >  	select SYS_SUPPORTS_SH_CMT
> >  
> 
> It seems that we need this change for these configurations as well:
> 
> - config CPU_SHX3
> - config CPU_SUBTYPE_SH7785
> 
> Although I can trigger a build failure for CPU_SUBTYPE_SH7785 only when
> setting CONFIG_NUMA=y:
> 
>   CC      net/ipv6/addrconf_core.o
> mm/slab.c: In function 'slab_memory_callback':
> mm/slab.c:1127:23: error: implicit declaration of function 'init_cache_node_node'; did you mean 'drain_cache_node_node'? [-Werror=implicit-function-declaration]
>  1127 |                 ret = init_cache_node_node(nid);
>       |                       ^~~~~~~~~~~~~~~~~~~~
>       |                       drain_cache_node_node
> 
> I would expect this error to be reproducible for CPU_SHX3 as well when
> CONFIG_NUMA=y but CONFIG_SMP=n. But for some reason, I am not seeing
> the error then.

Can you make this change for config CPU_SUBTYPE_SH7785 as well?

Then the change should be fine.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ