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: <7566eef3-bce4-4100-8a11-d88ef1e887a9@gaisler.com>
Date: Tue, 13 Jan 2026 13:28:09 +0100
From: Andreas Larsson <andreas@...sler.com>
To: Mike Rapoport <rppt@...nel.org>, Andrew Morton <akpm@...ux-foundation.org>
Cc: Alex Shi <alexs@...nel.org>, Alexander Gordeev <agordeev@...ux.ibm.com>,
 Borislav Petkov <bp@...en8.de>, Brian Cain <bcain@...nel.org>,
 "Christophe Leroy (CS GROUP)" <chleroy@...nel.org>,
 Catalin Marinas <catalin.marinas@....com>,
 "David S. Miller" <davem@...emloft.net>,
 Dave Hansen <dave.hansen@...ux.intel.com>,
 David Hildenbrand <david@...nel.org>, Dinh Nguyen <dinguyen@...nel.org>,
 Geert Uytterhoeven <geert@...ux-m68k.org>, Guo Ren <guoren@...nel.org>,
 Heiko Carstens <hca@...ux.ibm.com>, Helge Deller <deller@....de>,
 Huacai Chen <chenhuacai@...nel.org>, Ingo Molnar <mingo@...hat.com>,
 Johannes Berg <johannes@...solutions.net>,
 John Paul Adrian Glaubitz <glaubitz@...sik.fu-berlin.de>,
 Jonathan Corbet <corbet@....net>, Klara Modin <klarasmodin@...il.com>,
 "Liam R. Howlett" <Liam.Howlett@...cle.com>,
 Lorenzo Stoakes <lorenzo.stoakes@...cle.com>,
 Magnus Lindholm <linmag7@...il.com>, Matt Turner <mattst88@...il.com>,
 Max Filippov <jcmvbkbc@...il.com>, Michael Ellerman <mpe@...erman.id.au>,
 Michal Hocko <mhocko@...e.com>, Michal Simek <monstr@...str.eu>,
 Muchun Song <muchun.song@...ux.dev>, Oscar Salvador <osalvador@...e.de>,
 Palmer Dabbelt <palmer@...belt.com>, Pratyush Yadav <pratyush@...nel.org>,
 Richard Weinberger <richard@....at>, Ritesh Harjani <ritesh.list@...il.com>,
 Russell King <linux@...linux.org.uk>, Stafford Horne <shorne@...il.com>,
 Suren Baghdasaryan <surenb@...gle.com>,
 Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
 Thomas Gleixner <tglx@...utronix.de>, Vasily Gorbik <gor@...ux.ibm.com>,
 Vineet Gupta <vgupta@...nel.org>, Vlastimil Babka <vbabka@...e.cz>,
 Will Deacon <will@...nel.org>, x86@...nel.org, linux-alpha@...r.kernel.org,
 linux-arm-kernel@...ts.infradead.org, linux-csky@...r.kernel.org,
 linux-cxl@...r.kernel.org, linux-doc@...r.kernel.org,
 linux-hexagon@...r.kernel.org, linux-kernel@...r.kernel.org,
 linux-m68k@...ts.linux-m68k.org, linux-mips@...r.kernel.org,
 linux-mm@...ck.org, linux-openrisc@...r.kernel.org,
 linux-parisc@...r.kernel.org, linux-riscv@...ts.infradead.org,
 linux-s390@...r.kernel.org, linux-sh@...r.kernel.org,
 linux-snps-arc@...ts.infradead.org, linux-um@...ts.infradead.org,
 linuxppc-dev@...ts.ozlabs.org, loongarch@...ts.linux.dev,
 sparclinux@...r.kernel.org
Subject: Re: [PATCH v3 19/29] sparc: introduce arch_zone_limits_init()

On 2026-01-11 09:20, Mike Rapoport wrote:
> From: "Mike Rapoport (Microsoft)" <rppt@...nel.org>
> 
> Move calculations of zone limits to a dedicated arch_zone_limits_init()
> function.
> 
> Later MM core will use this function as an architecture specific callback
> during nodes and zones initialization and thus there won't be a need to
> call free_area_init() from every architecture.
> 
> Signed-off-by: Mike Rapoport (Microsoft) <rppt@...nel.org>
> ---
>  arch/sparc/mm/init_64.c |  6 ++++++
>  arch/sparc/mm/srmmu.c   | 12 ++++++++----
>  2 files changed, 14 insertions(+), 4 deletions(-)

Hi Mike,

Thanks for this nice cleanup series.


> diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c
> index df9f7c444c39..fbaad449dfc9 100644
> --- a/arch/sparc/mm/init_64.c
> +++ b/arch/sparc/mm/init_64.c
> @@ -2279,6 +2279,11 @@ static void __init reduce_memory(phys_addr_t limit_ram)
>  	memblock_enforce_memory_limit(limit_ram);
>  }
>  
> +void __init arch_zone_limits_init(unsigned long *max_zone_pfns)
> +{
> +	max_zone_pfns[ZONE_NORMAL] = last_valid_pfn;
> +}
> +
>  void __init paging_init(void)
>  {
>  	unsigned long end_pfn, shift, phys_base;
> @@ -2461,6 +2466,7 @@ void __init paging_init(void)
>  
>  		max_zone_pfns[ZONE_NORMAL] = end_pfn;

This old initialization of max_zone_pfns[ZONE_NORMAL] should also be
removed, right? With that removed it makes the local end_pfn variable
set but unused, so could you please also remove that one?

I know that this whole code block gets removed later, but the cleanup
max_zone_pfns[ZONE_NORMAL] and the removal of end_pfn (that is not done
later in this version of the series) fits logically in this patch.

>  
> +		arch_zone_limits_init(max_zone_pfns);
>  		free_area_init(max_zone_pfns);
>  	}
>  
> diff --git a/arch/sparc/mm/srmmu.c b/arch/sparc/mm/srmmu.c
> index f8fb4911d360..81e90151db90 100644
> --- a/arch/sparc/mm/srmmu.c
> +++ b/arch/sparc/mm/srmmu.c
> @@ -884,6 +884,13 @@ static void __init map_kernel(void)
>  
>  void (*poke_srmmu)(void) = NULL;
>  
> +void __init arch_zone_limits_init(unsigned long *max_zone_pfns)
> +{
> +	max_zone_pfns[ZONE_DMA] = max_low_pfn;
> +	max_zone_pfns[ZONE_NORMAL] = max_low_pfn;
> +	max_zone_pfns[ZONE_HIGHMEM] = highend_pfn;
> +}
> +
>  void __init srmmu_paging_init(void)
>  {
>  	int i;
> @@ -967,10 +974,7 @@ void __init srmmu_paging_init(void)
>  	{
>  		unsigned long max_zone_pfn[MAX_NR_ZONES] = { 0 };
>  
> -		max_zone_pfn[ZONE_DMA] = max_low_pfn;
> -		max_zone_pfn[ZONE_NORMAL] = max_low_pfn;
> -		max_zone_pfn[ZONE_HIGHMEM] = highend_pfn;
> -
> +		arch_zone_limits_init(max_zone_pfn);
>  		free_area_init(max_zone_pfn);
>  	}
>  }

With the feedback for arch/sparc/mm/init_64.c addressed:

Acked-by: Andreas Larsson <andreas@...sler.com>

Cheers,
Andreas


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ