[PATCH] sh: fix fallout from ZERO_PAGE consolidation

Mike Rapoport posted 1 patch 1 month, 4 weeks ago
arch/sh/include/asm/setup.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] sh: fix fallout from ZERO_PAGE consolidation
Posted by Mike Rapoport 1 month, 4 weeks ago
From: "Mike Rapoport (Microsoft)" <rppt@kernel.org>

Consolidation of empty_zero_page declarations broke boot on sh.

sh stores its initial boot parameters in a page reserved in
arch/sh/kernel/head_32.S. Before commit 6215d9f4470f ("arch, mm:
consolidate empty_zero_page") this page was referenced in C code as an
array and after that commit it is referenced as a pointer.

This causes wrong code generation and boot hang.

Declare boot_params_page as an array to fix the issue.

Reported-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Tested-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Fixes: 6215d9f4470f ("arch, mm: consolidate empty_zero_page")
Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
---
 arch/sh/include/asm/setup.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/sh/include/asm/setup.h b/arch/sh/include/asm/setup.h
index 63c9efc06348..8488f76b48b4 100644
--- a/arch/sh/include/asm/setup.h
+++ b/arch/sh/include/asm/setup.h
@@ -7,7 +7,7 @@
 /*
  * This is set up by the setup-routine at boot-time
  */
-extern unsigned char *boot_params_page;
+extern unsigned char boot_params_page[];
 #define PARAM boot_params_page
 
 #define MOUNT_ROOT_RDONLY (*(unsigned long *) (PARAM+0x000))

base-commit: 43cfbdda5af60ffc6272a7b8c5c37d1d0a181ca9
-- 
2.53.0

Re: [PATCH] sh: fix fallout from ZERO_PAGE consolidation
Posted by John Paul Adrian Glaubitz 1 month, 1 week ago
Hi,

On Fri, 2026-04-17 at 13:32 +0300, Mike Rapoport wrote:
> From: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
> 
> Consolidation of empty_zero_page declarations broke boot on sh.
> 
> sh stores its initial boot parameters in a page reserved in
> arch/sh/kernel/head_32.S. Before commit 6215d9f4470f ("arch, mm:
> consolidate empty_zero_page") this page was referenced in C code as an
> array and after that commit it is referenced as a pointer.
> 
> This causes wrong code generation and boot hang.
> 
> Declare boot_params_page as an array to fix the issue.
> 
> Reported-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> Tested-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> Fixes: 6215d9f4470f ("arch, mm: consolidate empty_zero_page")
> Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
> ---
>  arch/sh/include/asm/setup.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/sh/include/asm/setup.h b/arch/sh/include/asm/setup.h
> index 63c9efc06348..8488f76b48b4 100644
> --- a/arch/sh/include/asm/setup.h
> +++ b/arch/sh/include/asm/setup.h
> @@ -7,7 +7,7 @@
>  /*
>   * This is set up by the setup-routine at boot-time
>   */
> -extern unsigned char *boot_params_page;
> +extern unsigned char boot_params_page[];
>  #define PARAM boot_params_page
>  
>  #define MOUNT_ROOT_RDONLY (*(unsigned long *) (PARAM+0x000))
> 
> base-commit: 43cfbdda5af60ffc6272a7b8c5c37d1d0a181ca9

I can't test the patch myself now as my custom J2 toolchain is choking on building
the latest kernel from git. But the change looks good to me, so I'm going to merge
it now and send another PR to Linus.

Reviewed-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
Re: [PATCH] sh: fix fallout from ZERO_PAGE consolidation
Posted by Geert Uytterhoeven 1 month, 2 weeks ago
Hi Mike,

On Fri, 17 Apr 2026 at 21:16, Mike Rapoport <rppt@kernel.org> wrote:
> From: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
>
> Consolidation of empty_zero_page declarations broke boot on sh.
>
> sh stores its initial boot parameters in a page reserved in
> arch/sh/kernel/head_32.S. Before commit 6215d9f4470f ("arch, mm:
> consolidate empty_zero_page") this page was referenced in C code as an
> array and after that commit it is referenced as a pointer.
>
> This causes wrong code generation and boot hang.
>
> Declare boot_params_page as an array to fix the issue.
>
> Reported-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> Tested-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> Fixes: 6215d9f4470f ("arch, mm: consolidate empty_zero_page")
> Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>

Thanks, this fixes booting on Landisk and QEMU rts7751r2d.

Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Re: [PATCH] sh: fix fallout from ZERO_PAGE consolidation
Posted by John Paul Adrian Glaubitz 1 month, 2 weeks ago
Hi,

On Tue, 2026-04-28 at 14:18 +0200, Geert Uytterhoeven wrote:
> Hi Mike,
> 
> On Fri, 17 Apr 2026 at 21:16, Mike Rapoport <rppt@kernel.org> wrote:
> > From: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
> > 
> > Consolidation of empty_zero_page declarations broke boot on sh.
> > 
> > sh stores its initial boot parameters in a page reserved in
> > arch/sh/kernel/head_32.S. Before commit 6215d9f4470f ("arch, mm:
> > consolidate empty_zero_page") this page was referenced in C code as an
> > array and after that commit it is referenced as a pointer.
> > 
> > This causes wrong code generation and boot hang.
> > 
> > Declare boot_params_page as an array to fix the issue.
> > 
> > Reported-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> > Tested-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> > Fixes: 6215d9f4470f ("arch, mm: consolidate empty_zero_page")
> > Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
> 
> Thanks, this fixes booting on Landisk and QEMU rts7751r2d.
> 
> Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>

I'm going to pick this up later this week. I just wanted to give it a spin myself.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
Re: [PATCH] sh: fix fallout from ZERO_PAGE consolidation
Posted by Artur Rojek 1 month, 3 weeks ago
On 2026-04-17 12:32, Mike Rapoport wrote:
> From: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
> 
> Consolidation of empty_zero_page declarations broke boot on sh.
> 
> sh stores its initial boot parameters in a page reserved in
> arch/sh/kernel/head_32.S. Before commit 6215d9f4470f ("arch, mm:
> consolidate empty_zero_page") this page was referenced in C code as an
> array and after that commit it is referenced as a pointer.
> 
> This causes wrong code generation and boot hang.
> 
> Declare boot_params_page as an array to fix the issue.
> 
> Reported-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> Tested-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> Fixes: 6215d9f4470f ("arch, mm: consolidate empty_zero_page")
> Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>

I confirm this fixes boot issues on SEGA Dreamcast (sh4).

Tested-by: Artur Rojek <contact@artur-rojek.eu>

> ---
>  arch/sh/include/asm/setup.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> 
> base-commit: 43cfbdda5af60ffc6272a7b8c5c37d1d0a181ca9
> 
> diff --git a/arch/sh/include/asm/setup.h b/arch/sh/include/asm/setup.h
> index 63c9efc06348..8488f76b48b4 100644
> --- a/arch/sh/include/asm/setup.h
> +++ b/arch/sh/include/asm/setup.h
> @@ -7,7 +7,7 @@
>  /*
>   * This is set up by the setup-routine at boot-time
>   */
> -extern unsigned char *boot_params_page;
> +extern unsigned char boot_params_page[];
>  #define PARAM boot_params_page
> 
>  #define MOUNT_ROOT_RDONLY (*(unsigned long *) (PARAM+0x000))
Re: [PATCH] sh: fix fallout from ZERO_PAGE consolidation
Posted by John Paul Adrian Glaubitz 1 month, 4 weeks ago
Hi Mike,

On Fri, 2026-04-17 at 13:32 +0300, Mike Rapoport wrote:
> From: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
> 
> Consolidation of empty_zero_page declarations broke boot on sh.
> 
> sh stores its initial boot parameters in a page reserved in
> arch/sh/kernel/head_32.S. Before commit 6215d9f4470f ("arch, mm:
> consolidate empty_zero_page") this page was referenced in C code as an
> array and after that commit it is referenced as a pointer.
> 
> This causes wrong code generation and boot hang.
> 
> Declare boot_params_page as an array to fix the issue.
> 
> Reported-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> Tested-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> Fixes: 6215d9f4470f ("arch, mm: consolidate empty_zero_page")
> Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
> ---
>  arch/sh/include/asm/setup.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/sh/include/asm/setup.h b/arch/sh/include/asm/setup.h
> index 63c9efc06348..8488f76b48b4 100644
> --- a/arch/sh/include/asm/setup.h
> +++ b/arch/sh/include/asm/setup.h
> @@ -7,7 +7,7 @@
>  /*
>   * This is set up by the setup-routine at boot-time
>   */
> -extern unsigned char *boot_params_page;
> +extern unsigned char boot_params_page[];
>  #define PARAM boot_params_page
>  
>  #define MOUNT_ROOT_RDONLY (*(unsigned long *) (PARAM+0x000))
> 
> base-commit: 43cfbdda5af60ffc6272a7b8c5c37d1d0a181ca9

Thanks, I'll try to test this patch this weekend and will pick it up for v7.1.
I have already collected a number of patches for v7.1 with my Reviewed-by.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
Re: [PATCH] sh: fix fallout from ZERO_PAGE consolidation
Posted by John Paul Adrian Glaubitz 1 month, 4 weeks ago
Hi Mike,

On Fri, 2026-04-17 at 12:56 +0200, John Paul Adrian Glaubitz wrote:
> On Fri, 2026-04-17 at 13:32 +0300, Mike Rapoport wrote:
> > From: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
> > 
> > Consolidation of empty_zero_page declarations broke boot on sh.
> > 
> > sh stores its initial boot parameters in a page reserved in
> > arch/sh/kernel/head_32.S. Before commit 6215d9f4470f ("arch, mm:
> > consolidate empty_zero_page") this page was referenced in C code as an
> > array and after that commit it is referenced as a pointer.
> > 
> > This causes wrong code generation and boot hang.
> > 
> > Declare boot_params_page as an array to fix the issue.
> > 
> > Reported-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> > Tested-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> > Fixes: 6215d9f4470f ("arch, mm: consolidate empty_zero_page")
> > Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
> > ---
> >  arch/sh/include/asm/setup.h | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/arch/sh/include/asm/setup.h b/arch/sh/include/asm/setup.h
> > index 63c9efc06348..8488f76b48b4 100644
> > --- a/arch/sh/include/asm/setup.h
> > +++ b/arch/sh/include/asm/setup.h
> > @@ -7,7 +7,7 @@
> >  /*
> >   * This is set up by the setup-routine at boot-time
> >   */
> > -extern unsigned char *boot_params_page;
> > +extern unsigned char boot_params_page[];
> >  #define PARAM boot_params_page
> >  
> >  #define MOUNT_ROOT_RDONLY (*(unsigned long *) (PARAM+0x000))
> > 
> > base-commit: 43cfbdda5af60ffc6272a7b8c5c37d1d0a181ca9
> 
> Thanks, I'll try to test this patch this weekend and will pick it up for v7.1.
> I have already collected a number of patches for v7.1 with my Reviewed-by.

I just realized that this patch actually depends on 6215d9f4470f ("arch, mm:
consolidate empty_zero_page"), so I cannot take it directly into my tree now.

Shall we wait for v7.0-rc1 then, so I can pick it up as a regression fix?

Thanks,
Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
Re: [PATCH] sh: fix fallout from ZERO_PAGE consolidation
Posted by Mike Rapoport 1 month, 4 weeks ago
Hi Adrian,

On Sat, Apr 18, 2026 at 10:33:56AM +0200, John Paul Adrian Glaubitz wrote:
> On Fri, 2026-04-17 at 12:56 +0200, John Paul Adrian Glaubitz wrote:
> > > 
> > > base-commit: 43cfbdda5af60ffc6272a7b8c5c37d1d0a181ca9
> > 
> > Thanks, I'll try to test this patch this weekend and will pick it up for v7.1.
> > I have already collected a number of patches for v7.1 with my Reviewed-by.
> 
> I just realized that this patch actually depends on 6215d9f4470f ("arch, mm:
> consolidate empty_zero_page"), so I cannot take it directly into my tree now.
> 
> Shall we wait for v7.0-rc1 then, so I can pick it up as a regression fix?
 
Or we can ask Andrew to pick it via mm tree.

> Thanks,
> Adrian

-- 
Sincerely yours,
Mike.
Re: [PATCH] sh: fix fallout from ZERO_PAGE consolidation
Posted by John Paul Adrian Glaubitz 1 month, 4 weeks ago
Hi Mike,

On Sat, 2026-04-18 at 13:34 +0300, Mike Rapoport wrote:
> Hi Adrian,
> 
> On Sat, Apr 18, 2026 at 10:33:56AM +0200, John Paul Adrian Glaubitz wrote:
> > On Fri, 2026-04-17 at 12:56 +0200, John Paul Adrian Glaubitz wrote:
> > > > 
> > > > base-commit: 43cfbdda5af60ffc6272a7b8c5c37d1d0a181ca9
> > > 
> > > Thanks, I'll try to test this patch this weekend and will pick it up for v7.1.
> > > I have already collected a number of patches for v7.1 with my Reviewed-by.
> > 
> > I just realized that this patch actually depends on 6215d9f4470f ("arch, mm:
> > consolidate empty_zero_page"), so I cannot take it directly into my tree now.
> > 
> > Shall we wait for v7.0-rc1 then, so I can pick it up as a regression fix?
>  
> Or we can ask Andrew to pick it via mm tree.

Let me take it for v7.0-rc2, so I can take more time for testing the patch.

Thanks,
Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
Re: [PATCH] sh: fix fallout from ZERO_PAGE consolidation
Posted by Andrew Morton 1 month, 2 weeks ago
On Sat, 18 Apr 2026 13:26:50 +0200 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> wrote:

> > > I just realized that this patch actually depends on 6215d9f4470f ("arch, mm:
> > > consolidate empty_zero_page"), so I cannot take it directly into my tree now.
> > > 
> > > Shall we wait for v7.0-rc1 then, so I can pick it up as a regression fix?
> >  
> > Or we can ask Andrew to pick it via mm tree.
> 
> Let me take it for v7.0-rc2, so I can take more time for testing the patch.

I put a copy of this into mm.git, so it goes into linux-next.
Re: [PATCH] sh: fix fallout from ZERO_PAGE consolidation
Posted by John Paul Adrian Glaubitz 1 month, 2 weeks ago
On Tue, 2026-04-28 at 05:55 -0700, Andrew Morton wrote:
> On Sat, 18 Apr 2026 13:26:50 +0200 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> wrote:
> 
> > > > I just realized that this patch actually depends on 6215d9f4470f ("arch, mm:
> > > > consolidate empty_zero_page"), so I cannot take it directly into my tree now.
> > > > 
> > > > Shall we wait for v7.0-rc1 then, so I can pick it up as a regression fix?
> > >  
> > > Or we can ask Andrew to pick it via mm tree.
> > 
> > Let me take it for v7.0-rc2, so I can take more time for testing the patch.
> 
> I put a copy of this into mm.git, so it goes into linux-next.

Erhm, I wanted to merge it myself being the SH maintainer.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
Re: [PATCH] sh: fix fallout from ZERO_PAGE consolidation
Posted by Andrew Morton 1 month, 2 weeks ago
On Tue, 28 Apr 2026 15:20:21 +0200 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> wrote:

> On Tue, 2026-04-28 at 05:55 -0700, Andrew Morton wrote:
> > On Sat, 18 Apr 2026 13:26:50 +0200 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> wrote:
> > 
> > > > > I just realized that this patch actually depends on 6215d9f4470f ("arch, mm:
> > > > > consolidate empty_zero_page"), so I cannot take it directly into my tree now.
> > > > > 
> > > > > Shall we wait for v7.0-rc1 then, so I can pick it up as a regression fix?
> > > >  
> > > > Or we can ask Andrew to pick it via mm tree.
> > > 
> > > Let me take it for v7.0-rc2, so I can take more time for testing the patch.
> > 
> > I put a copy of this into mm.git, so it goes into linux-next.
> 
> Erhm, I wanted to merge it myself being the SH maintainer.
> 

Yep, I saw that.  I wanted to unbreak linux-next.

If/when this turns up in -next I'll drop the mm.git copy.
Re: [PATCH] sh: fix fallout from ZERO_PAGE consolidation
Posted by John Paul Adrian Glaubitz 1 month, 1 week ago
Hi Andrew,

On Tue, 2026-04-28 at 08:01 -0700, Andrew Morton wrote:
> Yep, I saw that.  I wanted to unbreak linux-next.
> 
> If/when this turns up in -next I'll drop the mm.git copy.

Sorry for the late reply. I am currently having trouble building a kernel for
my J-Core J2 board. My custom J2 toolchain is choking on the current kernel
and I can't test the patch myself now.

However, since Geert has confirmed that the patch works, I'm merging it now.

Adrian

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