discover/boot: Always pass --append to kexec
diff mbox

Message ID 20160819052140.8004-1-sam@mendozajonas.com
State Accepted
Headers show

Commit Message

Samuel Mendoza-Jonas Aug. 19, 2016, 5:21 a.m. UTC
If we don't specify command line arguments for the next kernel, kexec
will add the contents of /chosen/bootargs if present. This is unintended
and not obvious to the user, so explicitly add append="" to the kexec
arguments if we have none to add instead.

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
---
 discover/boot.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

Patch
diff mbox

diff --git a/discover/boot.c b/discover/boot.c
index ba6ce25..04e7a54 100644
--- a/discover/boot.c
+++ b/discover/boot.c
@@ -77,12 +77,10 @@  static int kexec_load(struct boot_task *boot_task)
 		*p++ = s_dtb;		 /* 4 */
 	}
 
-	if (boot_task->args) {
-		s_args = talloc_asprintf(boot_task, "--append=%s",
-						boot_task->args);
-		assert(s_args);
-		*p++ = s_args;		/* 5 */
-	}
+	s_args = talloc_asprintf(boot_task, "--append=%s",
+				boot_task->args ?: "\"\"");
+	assert(s_args);
+	*p++ = s_args;		/* 5 */
 
 	*p++ = boot_task->local_image;	/* 6 */
 	*p++ = NULL;			/* 7 */