From eedd4293582b86a43eab6400d0a967bccf14f1fe Mon Sep 17 00:00:00 2001 From: Randall Spangler Date: Tue, 1 Nov 2016 15:29:05 -0700 Subject: [PATCH] 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 Reviewed-on: https://chromium-review.googlesource.com/407053 Reviewed-by: Daisuke Nojiri --- firmware/lib/vboot_kernel.c | 15 +-------------- tests/vboot_kernel_tests.c | 10 ---------- 2 files changed, 1 insertion(+), 24 deletions(-) diff --git a/firmware/lib/vboot_kernel.c b/firmware/lib/vboot_kernel.c index 35a3df50ed..c0afd37bae 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 3c26ee2e68..d3a25d58d8 100644 --- a/tests/vboot_kernel_tests.c +++ b/tests/vboot_kernel_tests.c @@ -569,16 +569,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,