[PATCH 1/3] x86/setup: Fix logged allocation range in relocate_initrd()

From: Thorsten Blum

Date: Wed Aug 26 2026 - 14:15:54 EST


Since commit c967da6a0ba8 ("x86: Make sure free_init_pages() frees pages
on page boundary"), relocate_initrd() allocates area_size bytes, which
is ramdisk_size rounded up to a page boundary. However, the log still
uses the potentially smaller ramdisk_size to calculate the end of the
allocated range and can report it as too short.

Use area_size instead.

Fixes: c967da6a0ba8 ("x86: Make sure free_init_pages() frees pages on page boundary")
Signed-off-by: Thorsten Blum <blum@xxxxxxxxxx>
---
arch/x86/kernel/setup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index cda6adb9f69c..1fede9834835 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -334,7 +334,7 @@ static void __init relocate_initrd(void)
initrd_start = relocated_ramdisk + PAGE_OFFSET;
initrd_end = initrd_start + ramdisk_size;
printk(KERN_INFO "Allocated new RAMDISK: [mem %#010llx-%#010llx]\n",
- relocated_ramdisk, relocated_ramdisk + ramdisk_size - 1);
+ relocated_ramdisk, relocated_ramdisk + area_size - 1);

ret = copy_from_early_mem((void *)initrd_start, ramdisk_image, ramdisk_size);
if (ret)