summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRandall Spangler <rspangler@chromium.org>2016-11-01 15:29:05 -0700
committerchrome-bot <chrome-bot@chromium.org>2016-11-15 11:25:41 -0800
commiteedd4293582b86a43eab6400d0a967bccf14f1fe (patch)
treea9e83e621e99755a6efe0cbd60999f42c61261a3
parentf182401b974b85bc4bc641d8ec43719a99777b1b (diff)
downloadvboot-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.c15
-rw-r--r--tests/vboot_kernel_tests.c10
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");