diff options
author | Joel Kitching <kitching@google.com> | 2020-02-13 18:28:35 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-02-14 11:51:41 +0000 |
commit | ac77cdb75bc00b9daf9109480333fde7e12b5a82 (patch) | |
tree | 924e5fc9dd4f9a4ede19ff8951462dfb6ebafddf | |
parent | 58ae67008f4f70cdbf48d76234f70a3b61b6e83e (diff) | |
download | vboot-ac77cdb75bc00b9daf9109480333fde7e12b5a82.tar.gz |
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 <kitching@chromium.org>
Commit-Queue: Joel Kitching <kitching@chromium.org>
Tested-by: Joel Kitching <kitching@chromium.org>
-rw-r--r-- | firmware/lib/vboot_api_kernel.c | 7 | ||||
-rw-r--r-- | 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"); |