Skip to contentSkip to conversation

vboot: Do not use hashed-strings offset

PATCH New Teddy Reed 3 participants 3 messages Jun 9, 2018 – Jul 11, 2018

lore
Share & tools
lore

Teddy Reed

author
#0 lore raw

PATCH v2 1/1 vboot: Do not use hashed-strings offset

The hashed-strings signature property includes two uint32_t values. The first is unneeded as there should never be a start offset into the strings region. The second, the size, is needed because the added signature node appends to this region.

See tools/image-host.c, where a static 0 value is used for the offset.

---
 common/image-sig.c | 7 +++++--
 tools/image-host.c | 1 +
 2 files changed, 6 insertions(+), 2 deletions(-)
common/image-sig.c +5 -2
index f65d883..ad571f9 100644
@@ -372,8 +372,11 @@ int fit_config_check_sig(const void *fit, int noffset, int required_keynode,
 	/* Add the strings */
 	strings = fdt_getprop(fit, noffset, "hashed-strings", NULL);
 	if (strings) {
-		fdt_regions[count].offset = fdt_off_dt_strings(fit) +
-				fdt32_to_cpu(strings[0]);
+		/*
+		 * The strings region offset must be a static 0x0.
+		 * This is set in tool/image-host.c
+		 */
+		fdt_regions[count].offset = fdt_off_dt_strings(fit);
 		fdt_regions[count].size = fdt32_to_cpu(strings[1]);
 		count++;
 	}
tools/image-host.c +1 -0
index 8e43671..be2d59b 100644
@@ -135,6 +135,7 @@ static int fit_image_write_sig(void *fit, int noffset, uint8_t *value,
 
 		ret = fdt_setprop(fit, noffset, "hashed-nodes",
 				   region_prop, region_proplen);
+		/* This is a legacy offset, it is unused, and must remain 0. */
 		strdata[0] = 0;
 		strdata[1] = cpu_to_fdt32(string_size);
 		if (!ret) {
Signature · 1 line
2.7.4
#1 lore raw

PATCH v2 1/1 vboot: Do not use hashed-strings offset

Quoted 5 lines · Teddy Reed

The hashed-strings signature property includes two uint32_t values. The first is unneeded as there should never be a start offset into the strings region. The second, the size, is needed because the added signature node appends to this region.

Quoted 7 lines

See tools/image-host.c, where a static 0 value is used for the offset.

---
 common/image-sig.c | 7 +++++--
 tools/image-host.c | 1 +
 2 files changed, 6 insertions(+), 2 deletions(-)
#2 lore raw

PATCH v2 1/1 vboot: Do not use hashed-strings offset

In reply to Teddy Reed
Quoted 9 lines · Teddy Reed

The hashed-strings signature property includes two uint32_t values. The first is unneeded as there should never be a start offset into the strings region. The second, the size, is needed because the added signature node appends to this region.

See tools/image-host.c, where a static 0 value is used for the offset.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180711/f94aa243/attachment.sig>