diff options
author | Peter Jones <pjones@redhat.com> | 2012-05-16 19:43:26 +0200 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2012-05-16 22:59:52 +0200 |
commit | ab7b64e9ee1e930ffe9d7f5b5eebe618a3b3a03b (patch) | |
tree | 8132225b48475717281346ed40f8ef1f12b5bd2e /arch/x86/kernel/setup.c | |
parent | x86: kernel/dumpstack.c simple_strtoul cleanup (diff) | |
download | linux-ab7b64e9ee1e930ffe9d7f5b5eebe618a3b3a03b.tar.xz linux-ab7b64e9ee1e930ffe9d7f5b5eebe618a3b3a03b.zip |
x86: Don't continue booting if we can't load the specified initrd
If we've determined we can't do what the user asked, trying to do
something else isn't going to make the user's life better.
Without this the screen scrolls a bit and then you get a panic
anyway, and it's nice not to have so much scroll after the real
problem in bug reports.
Link: http://lkml.kernel.org/r/1337190206-12121-1-git-send-email-pjones@redhat.com
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/kernel/setup.c')
-rw-r--r-- | arch/x86/kernel/setup.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 1a2901562059..37ef1169ffde 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c @@ -393,10 +393,9 @@ static void __init reserve_initrd(void) initrd_start = 0; if (ramdisk_size >= (end_of_lowmem>>1)) { - memblock_free(ramdisk_image, ramdisk_end - ramdisk_image); - printk(KERN_ERR "initrd too large to handle, " - "disabling initrd\n"); - return; + panic("initrd too large to handle, " + "disabling initrd (%lld needed, %lld available)\n", + ramdisk_size, end_of_lowmem>>1); } printk(KERN_INFO "RAMDISK: %08llx - %08llx\n", ramdisk_image, |