[PATCH] x86/realmode: Pad the embedded real-mode blob to a page boundary
From: Thorsten Blum
Date: Thu Sep 17 2026 - 08:01:31 EST
setup_real_mode() copies the page-aligned size of the embedded real-mode
blob into low memory. However, real_mode_blob ends immediately before
real_mode_relocs, so the copy includes relocation data and potentially
other .init.data contents when the size of realmode.bin is not
page-aligned.
Pad real_mode_blob to a page boundary so the copy contains only the
real-mode binary and its padding.
Fixes: 084ee1c641a0 ("x86, realmode: Relocator for realmode code")
Signed-off-by: Thorsten Blum <blum@xxxxxxxxxx>
---
arch/x86/realmode/rmpiggy.S | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/x86/realmode/rmpiggy.S b/arch/x86/realmode/rmpiggy.S
index c8fef76743f6..ce5350241238 100644
--- a/arch/x86/realmode/rmpiggy.S
+++ b/arch/x86/realmode/rmpiggy.S
@@ -12,6 +12,7 @@
SYM_DATA_START(real_mode_blob)
.incbin "arch/x86/realmode/rm/realmode.bin"
+ .balign PAGE_SIZE
SYM_DATA_END_LABEL(real_mode_blob, SYM_L_GLOBAL, real_mode_blob_end)
SYM_DATA_START(real_mode_relocs)