summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMary Ruthven <mruthven@chromium.org>2023-03-15 11:50:58 -0500
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-03-15 20:58:49 +0000
commitdff1ae07a1a35b0862b36d1e23e36b38682c5bdd (patch)
treec927b3556390948f579a7dac8da7ca2377f816bb
parent036e26a7028f30b6957503b2bc6ac0973d335d54 (diff)
downloadchrome-ec-dff1ae07a1a35b0862b36d1e23e36b38682c5bdd.tar.gz
gsctool: modify RO_A handling for DBG images
BUG=b:273510573 TEST=gsctool -b dbg.bin Change-Id: I3de2687491add2d63532e028d3d62a318ce6d13a Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4342809 Reviewed-by: Andrey Pronin <apronin@chromium.org> Commit-Queue: Andrey Pronin <apronin@chromium.org>
-rw-r--r--extra/usb_updater/gsctool.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/extra/usb_updater/gsctool.c b/extra/usb_updater/gsctool.c
index 4584c2bb82..b7fc2c02e2 100644
--- a/extra/usb_updater/gsctool.c
+++ b/extra/usb_updater/gsctool.c
@@ -1302,11 +1302,23 @@ static bool fetch_header_versions(const void *image)
sections[i].offset);
if (h->image_size < CONFIG_FLASH_BANK_SIZE) {
- fprintf(stderr,
- "Image at offset %#5x too short (%d bytes)\n",
- sections[i].offset,
- h->image_size);
- return false;
+ /*
+ * Return an error for incorrectly signed images. If
+ * it's a RO image with 0 as its size, ignore the error.
+ *
+ * TODO(b/273510573): revisit after dbg versioning is
+ * figured out.
+ */
+ if (h->image_size || sections[i].offset) {
+ fprintf(stderr,
+ "Image at offset %#5x too short "
+ "(%d bytes)\n",
+ sections[i].offset,
+ h->image_size);
+ return false;
+ }
+
+ printf("warning: invalid RO_A (size 0)\n");
}
sections[i].shv.epoch = h->epoch_;
sections[i].shv.major = h->major_;