summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Kitching <kitching@google.com>2020-02-13 18:59:52 +0800
committerCommit Bot <commit-bot@chromium.org>2020-02-14 11:51:43 +0000
commite81d9bc79796eca41f182ab3fb79497d6084fa92 (patch)
tree96cd18f34ec2d6a0abcdc80673cf9a9a7332109b
parent6d87e4f33f07323e791f09f4c5798978c1b5e0c8 (diff)
downloadvboot-e81d9bc79796eca41f182ab3fb79497d6084fa92.tar.gz
vboot: fix up load_kernel_test to store subkey in workbuf
Since CL:1651221, kernel subkey has been stored and accessed as part of vboot2 workbuf. We forgot to update the utility load_kernel_test to follow suit. BUG=b:124141368, chromium:1038260 TEST=make clean && make runtests BRANCH=none Change-Id: I67686dc9dd555d3cce9d1be287b56c108460239b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2054268 Commit-Queue: Joel Kitching <kitching@chromium.org> Tested-by: Joel Kitching <kitching@chromium.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
-rw-r--r--utility/load_kernel_test.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/utility/load_kernel_test.c b/utility/load_kernel_test.c
index cde3f610..14e4e613 100644
--- a/utility/load_kernel_test.c
+++ b/utility/load_kernel_test.c
@@ -221,18 +221,18 @@ int main(int argc, char* argv[])
sd = vb2_get_sd(ctx);
sd->vbsd = shared;
- /* Copy kernel subkey to VBSD, if any */
+ /* Copy kernel subkey to workbuf, if any */
if (key_blob) {
- struct vb2_packed_key *dst = (struct vb2_packed_key *)
- (shared_data +
- vb2_wb_round_up(sizeof(VbSharedDataHeader)));
- shared->kernel_subkey.key_offset =
- (uintptr_t)dst - (uintptr_t)&shared->kernel_subkey;
- shared->kernel_subkey.key_size = key_blob->key_size;
- shared->kernel_subkey.algorithm = key_blob->algorithm;
- shared->kernel_subkey.key_version = key_blob->key_version;
- memcpy(vb2_packed_key_data_mutable(dst),
- vb2_packed_key_data(key_blob), key_blob->key_size);
+ struct vb2_workbuf wb;
+ struct vb2_packed_key *dst;
+ uint32_t kernkey_size =
+ key_blob->key_offset + key_blob->key_size;
+ vb2_workbuf_from_ctx(ctx, &wb);
+ dst = vb2_workbuf_alloc(&wb, kernkey_size);
+ memcpy(dst, key_blob, kernkey_size);
+ vb2_set_workbuf_used(ctx, vb2_offset_of(sd, wb.buf));
+ sd->kernel_key_offset = vb2_offset_of(sd, dst);
+ sd->kernel_key_size = kernkey_size;
}
/* Free the key blob, now that we're done with it */