Werner Zeh (werner.zeh@siemens.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/13874
-gerrit
commit a84c8a7ef8d4f66b652015e5919d36f60783fec4 Author: Werner Zeh werner.zeh@siemens.com Date: Wed Mar 2 17:45:53 2016 +0100
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 --- util/cbfstool/cbfs-payload-linux.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/util/cbfstool/cbfs-payload-linux.c b/util/cbfstool/cbfs-payload-linux.c index 34b21e9..79ee7ea 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(¶ms, 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. */