[PATCH v6 13/15] sh: cast away constness from the zero page when flushing it from the cache
Ard Biesheuvel
ardb+git at google.com
Tue May 26 10:59:00 PDT 2026
From: Ard Biesheuvel <ardb at kernel.org>
SH performs cache maintenance on the zero page during boot, presumably
to ensure that any clearing of BSS that has occurred at startup is
visible to other CPUs and DMA devices.
The __flush_wback_region() function takes a void* argument, which is
conceptually sound, but given that empty_zero_page[] must never be
modified, it is being repainted as const, making it incompatible with a
void* formal parameter.
Given the above, and the fact that __flush_wback_region() is in fact a
function pointer variable with multiple implementations, take the easy
way out, and cast away the constness in this particular invocation.
Cc: Yoshinori Sato <ysato at users.sourceforge.jp>
Cc: Rich Felker <dalias at libc.org>
Cc: John Paul Adrian Glaubitz <glaubitz at physik.fu-berlin.de>
Signed-off-by: Ard Biesheuvel <ardb at kernel.org>
---
arch/sh/mm/init.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c
index 4e40d5e96be9..acbb481cdbfe 100644
--- a/arch/sh/mm/init.c
+++ b/arch/sh/mm/init.c
@@ -332,7 +332,7 @@ void __init mem_init(void)
cpu_cache_init();
/* clear the zero-page */
- __flush_wback_region(empty_zero_page, PAGE_SIZE);
+ __flush_wback_region((void *)empty_zero_page, PAGE_SIZE);
vsyscall_init();
--
2.54.0.794.g4f17f83d09-goog
More information about the linux-arm-kernel
mailing list