diff options
author | Randall Spangler <rspangler@chromium.org> | 2016-11-01 15:29:05 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2016-11-15 11:25:41 -0800 |
commit | eedd4293582b86a43eab6400d0a967bccf14f1fe (patch) | |
tree | a9e83e621e99755a6efe0cbd60999f42c61261a3 | |
parent | f182401b974b85bc4bc641d8ec43719a99777b1b (diff) | |
download | vboot-eedd4293582b86a43eab6400d0a967bccf14f1fe.tar.gz |
vboot: Remove LoadKernel() LBA size/count checks
Now that LoadKernel() uses a stream API for its partition data, it
doesn't care about those fields. They're blindly passed to
cgptlib_internal, which does similar checks in CheckParameters() and
CheckHeader(). So, don't duplicate the checks.
BUG=chromium:611535
BRANCH=none
TEST=make runtests; emerge-kevin coreboot depthcharge
Change-Id: I72375496e5df7b7c17df25d358f2555fe41fe520
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/407053
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
-rw-r--r-- | firmware/lib/vboot_kernel.c | 15 | ||||
-rw-r--r-- | tests/vboot_kernel_tests.c | 10 |
2 files changed, 1 insertions, 24 deletions
diff --git a/firmware/lib/vboot_kernel.c b/firmware/lib/vboot_kernel.c index 35a3df50..c0afd37b 100644 --- a/firmware/lib/vboot_kernel.c +++ b/firmware/lib/vboot_kernel.c @@ -435,13 +435,6 @@ VbError_t LoadKernel(LoadKernelParams *params, VbCommonParams *cparams) VbError_t retval = VBERROR_UNKNOWN; int recovery = VBNV_RECOVERY_LK_UNSPECIFIED; - /* Sanity Checks */ - if (!params->bytes_per_lba || !params->streaming_lba_count) { - VB2_DEBUG("LoadKernel() called with invalid params\n"); - retval = VBERROR_INVALID_PARAMETER; - goto load_kernel_exit; - } - /* Clear output params in case we fail */ params->partition_number = 0; params->bootloader_address = 0; @@ -673,17 +666,11 @@ load_kernel_exit: VBERROR_SUCCESS != retval ? recovery : VBNV_RECOVERY_NOT_REQUESTED); - /* - * If LoadKernel() was called with bad parameters, shcall may not be - * initialized. - */ - if (shcall) - shcall->return_code = (uint8_t)retval; - /* Store how much shared data we used, if any */ cparams->shared_data_size = shared->data_used; free(recovery_key); + shcall->return_code = (uint8_t)retval; return retval; } diff --git a/tests/vboot_kernel_tests.c b/tests/vboot_kernel_tests.c index 3c26ee2e..d3a25d58 100644 --- a/tests/vboot_kernel_tests.c +++ b/tests/vboot_kernel_tests.c @@ -570,16 +570,6 @@ static void ReadWriteGptTest(void) static void InvalidParamsTest(void) { ResetMocks(); - lkp.bytes_per_lba = 0; - TEST_EQ(LoadKernel(&lkp, &cparams), VBERROR_INVALID_PARAMETER, - "Bad lba size"); - - ResetMocks(); - lkp.streaming_lba_count = 0; - TEST_EQ(LoadKernel(&lkp, &cparams), VBERROR_INVALID_PARAMETER, - "Bad lba count"); - - ResetMocks(); gpt_init_fail = 1; TEST_EQ(LoadKernel(&lkp, &cparams), VBERROR_NO_KERNEL_FOUND, "Bad GPT"); |