[PATCH] discover/boot: Always pass --append to kexec

Samuel Mendoza-Jonas sam at mendozajonas.com
Fri Aug 19 15:21:40 AEST 2016


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 at mendozajonas.com>
---
 discover/boot.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

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 */
-- 
2.9.3



More information about the Petitboot mailing list