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 |
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>
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 --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) {
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(-)