2012-05-16 18:28:18

by Peter Jones

[permalink] [raw]
Subject: [PATCH] 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.
---
arch/x86/kernel/setup.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index 1a29015..37ef116 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,
--
1.7.10.1


2012-05-16 21:45:26

by Peter Jones

[permalink] [raw]
Subject: [tip:x86/cleanups] x86: Don't continue booting if we can' t load the specified initrd

Commit-ID: ab7b64e9ee1e930ffe9d7f5b5eebe618a3b3a03b
Gitweb: http://git.kernel.org/tip/ab7b64e9ee1e930ffe9d7f5b5eebe618a3b3a03b
Author: Peter Jones <[email protected]>
AuthorDate: Wed, 16 May 2012 13:43:26 -0400
Committer: H. Peter Anvin <[email protected]>
CommitDate: Wed, 16 May 2012 13:59:52 -0700

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/[email protected]
Signed-off-by: H. Peter Anvin <[email protected]>
---
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 1a29015..37ef116 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,