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>
This commit is contained in:
Werner Zeh 2016-03-02 17:45:53 +01:00
parent 266b5171a3
commit bbf508914d
1 changed files with 2 additions and 0 deletions

View File

@ -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. */