vboot: Do not use hashed-strings offset
authorTeddy Reed <teddy.reed@gmail.com>
Sat, 9 Jun 2018 15:45:20 +0000 (11:45 -0400)
committerTom Rini <trini@konsulko.com>
Tue, 10 Jul 2018 20:55:58 +0000 (16:55 -0400)
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>
common/image-sig.c
tools/image-host.c

index 8d2fd10db669e751c19ceeda8bf51d163da9609a..5a269d3289bfcf72d7ad0fd5aeff7862f4badf11 100644 (file)
@@ -377,8 +377,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++;
        }
index 8e43671714b8936f572c47bd2971d492c7cbad71..be2d59b7c0d919fa428547e34d79820be9e56865 100644 (file)
@@ -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) {