[PATCH] Fix wrong remove_parameter() calls

Bernhard Walle bwalle at suse.de
Mon Jun 2 19:30:07 EDT 2008

When --reuse-cmdline is specified, kexec automatically removes some command
line parameter that are *known* to break the kexec'd target. That patch
corrects that behaviour:

 1. BOOT_IMAGE should be removed always when --reuse-cmdline is specified since
    it's likely that the kernel is not the same as the running kernel. As only
    lilo-like bootloaders (i.e. not GRUB) adds that parameter, there's no need
    to add a BOOT_IMAGE here.

 2. crashkernel should be only removed when 'kexec -p' is called. For the
    normal kexec, the crashkernel parameter can be passed as in the
    running kernel.

The mistake has been introduced by commit 3c5bb06948881b3e31c783c19edef74275794280
by myself.

Signed-off-by: Bernhard Walle <bwalle at suse.de>
 kexec/kexec.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/kexec/kexec.c b/kexec/kexec.c
index 0a8ed32..fee895d 100644
--- a/kexec/kexec.c
+++ b/kexec/kexec.c
@@ -871,10 +871,10 @@ char *get_command_line(int filtered)
 		*(line + strlen(line) - 1) = 0;
 		if (filtered) {
-			remove_parameter(line, "crashkernel");
+			remove_parameter(line, "BOOT_IMAGE");
 			if (kexec_flags & KEXEC_ON_CRASH) {
-				remove_parameter(line, "BOOT_IMAGE");
 				remove_parameter(line, "mem");
+				remove_parameter(line, "crashkernel");
 	} else

More information about the kexec mailing list