summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Kitching <kitching@google.com>2020-02-13 18:28:35 +0800
committerCommit Bot <commit-bot@chromium.org>2020-02-14 11:51:41 +0000
commitac77cdb75bc00b9daf9109480333fde7e12b5a82 (patch)
tree924e5fc9dd4f9a4ede19ff8951462dfb6ebafddf
parent58ae67008f4f70cdbf48d76234f70a3b61b6e83e (diff)
downloadvboot-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.c7
-rw-r--r--tests/vboot_api_kernel4_tests.c9
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");