From d2bb9b5a636753586e9d6b2b3606770a2bff6a11 Mon Sep 17 00:00:00 2001 From: Samuel Mendoza-Jonas Date: Fri, 19 Aug 2016 14:39:28 +1000 Subject: discover/boot: Always pass --append to kexec 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 --- 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 */ -- cgit v1.2.1