x86: Don't continue booting if we can't load the specified initrd
authorPeter Jones <pjones@redhat.com>
Wed, 16 May 2012 17:43:26 +0000 (13:43 -0400)
committerH. Peter Anvin <hpa@linux.intel.com>
Wed, 16 May 2012 20:59:52 +0000 (13:59 -0700)
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>
arch/x86/kernel/setup.c

index 1a2901562059a48a4ec863c64e4150b881ed9271..37ef1169ffde81228351c1f1310f60fb04e8962e 100644 (file)
@@ -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,