diff options
author | Randall Spangler <rspangler@chromium.org> | 2016-10-25 10:00:27 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-11-14 16:42:19 -0800 |
commit | f182401b974b85bc4bc641d8ec43719a99777b1b (patch) | |
tree | fa861263146816c1bc8ae8812a20e57373d27650 /tests | |
parent | dfcacc87bec544ab7b4ed8645f65876b471a1cd3 (diff) | |
download | vboot-f182401b974b85bc4bc641d8ec43719a99777b1b.tar.gz |
vboot: Split partition and vblock verification from LoadKernel()stabilize-8992.B
LoadKernel() was a big function which did everything from looping over
partitions on a drive to loading the data within them to calling the
low-level verification functions on that data. Split it apart into more
manageable chunks. This also reduces indentation of the inner parts of
the code, whic increases readability.
No outwardly-visible functionality changes.
BUG=chromium:611535
BRANCH=none
TEST=make runtests; emerge-kevin coreboot depthcharge
Change-Id: Iea79e70163f5d9f1a9d0d897e4a9bacc925a742d
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/404919
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/vboot_kernel_tests.c | 15 | ||||
-rw-r--r-- | tests/verify_kernel.c | 6 |
2 files changed, 8 insertions, 13 deletions
diff --git a/tests/vboot_kernel_tests.c b/tests/vboot_kernel_tests.c index 21ee895b..3c26ee2e 100644 --- a/tests/vboot_kernel_tests.c +++ b/tests/vboot_kernel_tests.c @@ -138,22 +138,22 @@ static void ResetMocks(void) gbb->minor_version = GBB_MINOR_VER; gbb->flags = 0; + memset(&shared_data, 0, sizeof(shared_data)); + VbSharedDataInit(shared, sizeof(shared_data)); + shared->kernel_version_tpm = 0x20001; + memset(&cparams, '\0', sizeof(cparams)); cparams.gbb = gbb; cparams.gbb_data = gbb; cparams.gbb_size = sizeof(gbb_data); + cparams.shared_data_blob = shared; memset(&vnc, 0, sizeof(vnc)); VbNvSetup(&vnc); VbNvTeardown(&vnc); /* So CRC gets generated */ - memset(&shared_data, 0, sizeof(shared_data)); - VbSharedDataInit(shared, sizeof(shared_data)); - shared->kernel_version_tpm = 0x20001; - memset(&lkp, 0, sizeof(lkp)); lkp.nv_context = &vnc; - lkp.shared_data_blob = shared; lkp.gbb_data = gbb; lkp.gbb_size = sizeof(gbb_data); lkp.bytes_per_lba = 512; @@ -580,11 +580,6 @@ static void InvalidParamsTest(void) "Bad lba count"); ResetMocks(); - lkp.bytes_per_lba = 128*1024; - TEST_EQ(LoadKernel(&lkp, &cparams), VBERROR_INVALID_PARAMETER, - "Huge lba size"); - - ResetMocks(); gpt_init_fail = 1; TEST_EQ(LoadKernel(&lkp, &cparams), VBERROR_NO_KERNEL_FOUND, "Bad GPT"); diff --git a/tests/verify_kernel.c b/tests/verify_kernel.c index e1cd0c0c..9fc58f33 100644 --- a/tests/verify_kernel.c +++ b/tests/verify_kernel.c @@ -90,8 +90,8 @@ int main(int argc, char *argv[]) /* TODO: optional TPM current kernel version */ /* Set up params */ - params.shared_data_blob = shared_data; - params.shared_data_size = sizeof(shared_data); + cparams.shared_data_blob = shared_data; + cparams.shared_data_size = sizeof(shared_data); params.disk_handle = (VbExDiskHandle_t)1; params.bytes_per_lba = 512; params.streaming_lba_count = disk_bytes / 512; @@ -126,7 +126,7 @@ int main(int argc, char *argv[]) } printf("Found a good kernel.\n"); - printf("Partition number: %d\n", (int)params.partition_number); + printf("Partition number: %u\n", params.partition_number); printf("Bootloader address: 0x%" PRIx64 "\n", params.bootloader_address); |