diff options
Diffstat (limited to 'arch/x86/kernel/head32.c')
| -rw-r--r-- | arch/x86/kernel/head32.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/x86/kernel/head32.c b/arch/x86/kernel/head32.c index adedeef1ded..b2e24603739 100644 --- a/arch/x86/kernel/head32.c +++ b/arch/x86/kernel/head32.c @@ -7,6 +7,7 @@  #include <linux/init.h>  #include <linux/start_kernel.h> +#include <linux/mm.h>  #include <asm/setup.h>  #include <asm/sections.h> @@ -44,9 +45,10 @@ void __init i386_start_kernel(void)  #ifdef CONFIG_BLK_DEV_INITRD  	/* Reserve INITRD */  	if (boot_params.hdr.type_of_loader && boot_params.hdr.ramdisk_image) { +		/* Assume only end is not page aligned */  		u64 ramdisk_image = boot_params.hdr.ramdisk_image;  		u64 ramdisk_size  = boot_params.hdr.ramdisk_size; -		u64 ramdisk_end   = ramdisk_image + ramdisk_size; +		u64 ramdisk_end   = PAGE_ALIGN(ramdisk_image + ramdisk_size);  		reserve_early(ramdisk_image, ramdisk_end, "RAMDISK");  	}  #endif  |