From ac77cdb75bc00b9daf9109480333fde7e12b5a82 Mon Sep 17 00:00:00 2001 From: Joel Kitching Date: Thu, 13 Feb 2020 18:28:35 +0800 Subject: vboot: stop setting context mode flag in VBSLK Stop setting mode flags (developer or recovery) in VbSelectAndLoadKernel; this has already been done in firmware verification. BUG=b:124141368, chromium:994060 TEST=make clean && make runtests BRANCH=none Change-Id: I659f406e0182f809ad46c92a2597b05f685d45dd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2054265 Reviewed-by: Joel Kitching Commit-Queue: Joel Kitching Tested-by: Joel Kitching --- firmware/lib/vboot_api_kernel.c | 7 ------- tests/vboot_api_kernel4_tests.c | 9 ++++++--- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/firmware/lib/vboot_api_kernel.c b/firmware/lib/vboot_api_kernel.c index 822f1cbe..c5328d23 100644 --- a/firmware/lib/vboot_api_kernel.c +++ b/firmware/lib/vboot_api_kernel.c @@ -228,13 +228,6 @@ static vb2_error_t vb2_kernel_setup(struct vb2_context *ctx, { struct vb2_shared_data *sd = vb2_get_sd(ctx); - /* Set selected boot mode in context object. - TODO: Confirm that this can be removed with persistent context. */ - if (sd->recovery_reason) - ctx->flags |= VB2_CONTEXT_RECOVERY_MODE; - if (sd->flags & VB2_SD_FLAG_DEV_MODE_ENABLED) - ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE; - /* Translate vboot2 flags and fields into vboot1. */ if (ctx->flags & VB2_CONTEXT_EC_SYNC_SUPPORTED) shared->flags |= VBSD_EC_SOFTWARE_SYNC; diff --git a/tests/vboot_api_kernel4_tests.c b/tests/vboot_api_kernel4_tests.c index 6ac25bd8..8b736508 100644 --- a/tests/vboot_api_kernel4_tests.c +++ b/tests/vboot_api_kernel4_tests.c @@ -85,6 +85,9 @@ static void reset_common_data(void) static void test_slk(vb2_error_t retval, int recovery_reason, const char *desc) { + if (sd->recovery_reason) + ctx->flags |= VB2_CONTEXT_RECOVERY_MODE; + expected_recovery_reason = recovery_reason; TEST_EQ(VbSelectAndLoadKernel(ctx, shared, &kparams), retval, desc); TEST_EQ(current_recovery_reason, expected_recovery_reason, @@ -284,19 +287,19 @@ static void select_and_load_kernel_tests(void) /* Boot dev */ reset_common_data(); - sd->flags |= VB2_SD_FLAG_DEV_MODE_ENABLED; + ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE; vbboot_retval = -2; test_slk(VB2_ERROR_MOCK, 0, "Dev boot bad"); reset_common_data(); - sd->flags |= VB2_SD_FLAG_DEV_MODE_ENABLED; + ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE; new_version = 0x20003; test_slk(0, 0, "Dev doesn't roll forward"); TEST_EQ(kernel_version, 0x10002, " version"); /* Boot dev - phase1 failure */ reset_common_data(); - sd->flags |= VB2_SD_FLAG_DEV_MODE_ENABLED; + ctx->flags |= VB2_CONTEXT_DEVELOPER_MODE; kernel_phase1_retval = VB2_ERROR_MOCK; test_slk(VB2_ERROR_MOCK, 0, "Dev phase1 failure"); -- cgit v1.2.1