diff options
author | Joel Kitching <kitching@google.com> | 2019-10-07 15:50:01 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-12-17 11:52:45 +0000 |
commit | 53332109acd90d34c82e0450b1329096b942523e (patch) | |
tree | 3f9bcf681e1081a3a09c54fa36fc36980513b8e1 /tests/verify_kernel.c | |
parent | 1d9945764bb9e159680ef4b3a15c9bcd23fad8fe (diff) | |
download | vboot-53332109acd90d34c82e0450b1329096b942523e.tar.gz |
vboot: remove some vboot1 SharedData-related functions
Remove VbSharedDataInit, VbSharedDataReserve,
VbSharedDataSetKernelKey, along with their corresponding tests.
In tests/verify_kernel and utility/load_kernel_test, just copy the
kernel subkey manually for now, until we update LoadKernel to
retrieve the key from vboot2 workbuf instead.
BUG=b:124141368, chromium:968464
TEST=make clean && make runtests
BRANCH=none
Change-Id: I7055be10f0d7a38502fd8108f0bc93c5b78f06c9
Signed-off-by: Joel Kitching <kitching@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/1844598
Reviewed-by: Joel Kitching <kitching@chromium.org>
Commit-Queue: Joel Kitching <kitching@chromium.org>
Tested-by: Joel Kitching <kitching@chromium.org>
Diffstat (limited to 'tests/verify_kernel.c')
-rw-r--r-- | tests/verify_kernel.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/tests/verify_kernel.c b/tests/verify_kernel.c index 051e629d..ddb1fe30 100644 --- a/tests/verify_kernel.c +++ b/tests/verify_kernel.c @@ -26,7 +26,8 @@ static struct vb2_shared_data *sd; static uint8_t *diskbuf; -static uint8_t shared_data[VB_SHARED_DATA_MIN_SIZE]; +static uint8_t shared_data[VB_SHARED_DATA_MIN_SIZE] + __attribute__((aligned(VB2_WORKBUF_ALIGN))); static VbSharedDataHeader *shared = (VbSharedDataHeader *)shared_data; static LoadKernelParams params; @@ -91,11 +92,6 @@ int main(int argc, char *argv[]) return 1; } - /* Set up shared data blob */ - VbSharedDataInit(shared, sizeof(shared_data)); - VbSharedDataSetKernelKey(shared, kernkey); - /* TODO: optional TPM current kernel version */ - /* Set up params */ params.disk_handle = (VbExDiskHandle_t)1; params.bytes_per_lba = 512; @@ -116,9 +112,21 @@ int main(int argc, char *argv[]) fprintf(stderr, "Can't initialize workbuf\n"); return 1; } + memset(&shared_data, 0, sizeof(shared_data)); sd = vb2_get_sd(ctx); sd->vbsd = shared; + /* Copy kernel subkey to VBSD */ + 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 = kernkey->key_size; + shared->kernel_subkey.algorithm = kernkey->algorithm; + shared->kernel_subkey.key_version = kernkey->key_version; + memcpy(vb2_packed_key_data_mutable(dst), vb2_packed_key_data(kernkey), + kernkey->key_size); + /* * LoadKernel() cares only about VBNV_DEV_BOOT_SIGNED_ONLY, and only in * dev mode. So just use defaults for nv storage. |