From dfc30130e94e97d42389e4b7ef7e2227df99cdf7 Mon Sep 17 00:00:00 2001 From: Patrick Rudolph Date: Thu, 9 Aug 2018 09:08:05 +0200 Subject: fit: Handle decompression errors properly Set payload to NULL in case of decompression errors. Fixes the attempt to boot a kernel that couldn't be decompressed. Change-Id: I3a602b0e90923a0b5a3683c4a0adf9e4733d5a2a Signed-off-by: Patrick Rudolph Reviewed-on: https://review.coreboot.org/27970 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- src/lib/fit_payload.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') diff --git a/src/lib/fit_payload.c b/src/lib/fit_payload.c index ada22e8747..9dbd8784da 100644 --- a/src/lib/fit_payload.c +++ b/src/lib/fit_payload.c @@ -163,6 +163,7 @@ void fit_payload(struct prog *payload) if (config->ramdisk_node && extract(&initrd, config->ramdisk_node)) { printk(BIOS_ERR, "ERROR: Failed to extract initrd\n"); + prog_set_entry(payload, NULL, NULL); rdev_munmap(prog_rdev(payload), data); return; } @@ -171,6 +172,7 @@ void fit_payload(struct prog *payload) if (extract(&kernel, config->kernel_node)) { printk(BIOS_ERR, "ERROR: Failed to extract kernel\n"); + prog_set_entry(payload, NULL, NULL); rdev_munmap(prog_rdev(payload), data); return; } -- cgit v1.2.3