diff mbox series

[U-Boot,v2] vboot: Do not use hashed-strings offset

Message ID 20180609114520.68ab7de771869d9d3ab4a809@gmail.com
State Accepted
Commit 7346c1e192d63cd35f99c7e845e53c5d4d0bdc24
Delegated to: Tom Rini
Headers show
Series [U-Boot,v2] vboot: Do not use hashed-strings offset | expand

Commit Message

Teddy Reed June 9, 2018, 3:45 p.m. UTC
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.

Signed-off-by: Teddy Reed <teddy.reed@gmail.com>
---
 common/image-sig.c | 7 +++++--
 tools/image-host.c | 1 +
 2 files changed, 6 insertions(+), 2 deletions(-)

Comments

Simon Glass June 14, 2018, 9:35 p.m. UTC | #1
On 9 June 2018 at 09:45, Teddy Reed <teddy.reed@gmail.com> wrote:
> 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.
>
> Signed-off-by: Teddy Reed <teddy.reed@gmail.com>
> ---
>  common/image-sig.c | 7 +++++--
>  tools/image-host.c | 1 +
>  2 files changed, 6 insertions(+), 2 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>
Tom Rini July 11, 2018, 12:42 p.m. UTC | #2
On Sat, Jun 09, 2018 at 11:45:20AM -0400, Teddy Reed wrote:

> 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.
> 
> Signed-off-by: Teddy Reed <teddy.reed@gmail.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/common/image-sig.c b/common/image-sig.c
index f65d883..ad571f9 100644
--- a/common/image-sig.c
+++ b/common/image-sig.c
@@ -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++;
 	}
diff --git a/tools/image-host.c b/tools/image-host.c
index 8e43671..be2d59b 100644
--- a/tools/image-host.c
+++ b/tools/image-host.c
@@ -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) {