Re: [PATCH] sh: fix fallout from ZERO_PAGE consolidation

From: Artur Rojek

Date: Sun Apr 19 2026 - 14:54:28 EST


On 2026-04-17 12:32, Mike Rapoport wrote:
From: "Mike Rapoport (Microsoft)" <rppt@xxxxxxxxxx>

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@xxxxxxxxxxxxx>
Tested-by: Thomas Weißschuh <thomas.weissschuh@xxxxxxxxxxxxx>
Fixes: 6215d9f4470f ("arch, mm: consolidate empty_zero_page")
Signed-off-by: Mike Rapoport (Microsoft) <rppt@xxxxxxxxxx>

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

Tested-by: Artur Rojek <contact@xxxxxxxxxxxxxx>

---
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))