summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWerner Zeh <werner.zeh@siemens.com>2016-03-02 17:45:53 +0100
committerWerner Zeh <werner.zeh@siemens.com>2016-03-03 06:18:23 +0100
commitbbf508914df2375efb38bedb0527b87eeac697c5 (patch)
treedf3d56ac658c759fca55caa8dc2a004f1b835c64
parent266b5171a30e0334b7503ec3284665b244d77b61 (diff)
cbfstool: Initialize contents of linux_params to 0
When linux is used as payload, the parameters to the kernel are build when cbfstool includes bzImage into the image. Since not all parameters are used, the unused will stay uninitialized. There is a chance, that the uninitialized parameters contain random values. That in turn can lead to early kernel panic. To avoid it, initialize all parameters with 0 at the beginning. The ones that are used will be set up as needed and the rest will contain 0 for sure. This way, kernel can deal with the provided parameter list the right way. Change-Id: Id081c24351ec80375255508378b5e1eba2a92e48 Signed-off-by: Werner Zeh <werner.zeh@siemens.com> Reviewed-on: https://review.coreboot.org/13874 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r--util/cbfstool/cbfs-payload-linux.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/util/cbfstool/cbfs-payload-linux.c b/util/cbfstool/cbfs-payload-linux.c
index 34b21e9054..79ee7eaa85 100644
--- a/util/cbfstool/cbfs-payload-linux.c
+++ b/util/cbfstool/cbfs-payload-linux.c
@@ -224,6 +224,8 @@ int parse_bzImage_to_payload(const struct buffer *input,
/* Setup parameter block. Imitate FILO. */
struct linux_params params;
+
+ memset(&params, 0, sizeof(struct linux_params));
params.mount_root_rdonly = hdr->root_flags;
params.orig_root_dev = hdr->root_dev;
/* Sensible video defaults. Might be overridden on runtime by coreboot tables. */