summaryrefslogtreecommitdiff
path: root/firmware/2lib/2api.c
diff options
context:
space:
mode:
authorJoel Kitching <kitching@google.com>2019-07-25 16:39:56 +0800
committerCommit Bot <commit-bot@chromium.org>2019-08-16 07:25:30 +0000
commiteb10ebf76d78a7ac7cb6b66c6f1bba747d4e10ca (patch)
tree31e71507502a3a233fae0fd5fbbbe2fadd494659 /firmware/2lib/2api.c
parent445e371ebc7afaca6be293f43055eae0fbeb67be (diff)
downloadvboot-eb10ebf76d78a7ac7cb6b66c6f1bba747d4e10ca.tar.gz
vboot: vb2_shared_data offsets should hang off parentstabilize-12428.B
vb2_shared_data struct has many offsets to other objects in the workbuf. They are all prefixed with `workbuf_`, e.g.: uint32_t workbuf_data_key_offset; uint32_t workbuf_data_key_size; In order to adhere to a hierarchical structure on the workbuf, remove the workbuf_ prefix from these symbols to reflect the relationship between vb2_shared_data and its children more accurately. Create a helper function vb2_member_of to safely look up a child of a particular object in the workbuf by offset. Pointer arithmetic to find vb2_shared_data children is replaced with calls to this function. BUG=b:124141368, chromium:994060 TEST=make clean && make runtests BRANCH=none Change-Id: Ia82417a35d2067ee5e4f42fea0396e6325127223 Signed-off-by: Joel Kitching <kitching@google.com> Cq-Depend: chromium:1753400 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/1718264 Commit-Queue: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'firmware/2lib/2api.c')
-rw-r--r--firmware/2lib/2api.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/firmware/2lib/2api.c b/firmware/2lib/2api.c
index f39ba290..e6ed5eb0 100644
--- a/firmware/2lib/2api.c
+++ b/firmware/2lib/2api.c
@@ -165,10 +165,10 @@ vb2_error_t vb2api_extend_hash(struct vb2_context *ctx,
{
struct vb2_shared_data *sd = vb2_get_sd(ctx);
struct vb2_digest_context *dc = (struct vb2_digest_context *)
- (ctx->workbuf + sd->workbuf_hash_offset);
+ vb2_member_of(sd, sd->hash_offset);
/* Must have initialized hash digest work area */
- if (!sd->workbuf_hash_size)
+ if (!sd->hash_size)
return VB2_ERROR_API_EXTEND_HASH_WORKBUF;
/* Don't extend past the data we expect to hash */