vboot: do not check for VB2_CONTEXT_FORCE_DEVELOPER_MODE
As part of chromium:942901, physical dev switch functionality
is being deprecated.
VB2_CONTEXT_FORCE_DEVELOPER_MODE is for the express purpose
of enabling developer mode when the physical dev switch is
on. (See: coreboot's src/security/vboot/vboot_logic.c)
Remove the check of this context flag for deciding whether
developer mode is enabled.
In order to retain a path to developer mode on devices
with physical dev switch, this CL depends on
VBSD_HONOR_VIRT_DEV_SWITCH check being removed first
(see CL:1526070). (Alternately, we can wait for CB:31943
to be merged and pulled downstream.)
This constant will be marked as deprecated in a subsequent
CL, once the coreboot CL has been pulled downstream.
BUG=b:124141368, b:124192753, chromium:942901
TEST=Build locally
TEST=/work/vboot/src/repohooks/pre-upload.py
TEST=make clean && make runtests
TEST=make clean && COV=1 make coverage && make coverage_html
CQ-DEPEND=CL:1526070
BRANCH=none
Change-Id: I81b54b9e2b8d3c6f9c00b40dd0771cda0585037c
Signed-off-by: Joel Kitching <kitching@google.com>
Reviewed-on: https://chromium-review.googlesource.com/1524757
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Joel Kitching <kitching@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
diff --git a/firmware/2lib/2misc.c b/firmware/2lib/2misc.c
index 2f68639..5d82fc0 100644
--- a/firmware/2lib/2misc.c
+++ b/firmware/2lib/2misc.c
@@ -258,10 +258,6 @@
if (flags & VB2_SECDATA_FLAG_DEV_MODE)
is_dev = 1;
- /* Handle forcing dev mode via physical switch */
- if (ctx->flags & VB2_CONTEXT_FORCE_DEVELOPER_MODE)
- is_dev = 1;
-
/* Check if GBB is forcing dev mode */
if (sd->gbb_flags & VB2_GBB_FLAG_FORCE_DEV_SWITCH_ON)
is_dev = 1;
diff --git a/firmware/2lib/include/2api.h b/firmware/2lib/include/2api.h
index 9bf6772..ac4b058 100644
--- a/firmware/2lib/include/2api.h
+++ b/firmware/2lib/include/2api.h
@@ -78,6 +78,8 @@
/*
* Force developer mode enabled. Caller may set this flag when
* initializing the context.
+ *
+ * Deprecated as part of chromium:942901.
*/
VB2_CONTEXT_FORCE_DEVELOPER_MODE = (1 << 5),
diff --git a/tests/vb2_misc_tests.c b/tests/vb2_misc_tests.c
index 1bb9686..f17ac1b 100644
--- a/tests/vb2_misc_tests.c
+++ b/tests/vb2_misc_tests.c
@@ -377,16 +377,6 @@
" doesn't set dev on in secdata but does set last boot dev");
TEST_EQ(mock_tpm_clear_called, 1, " tpm clear");
- /* Force enabled by ctx flag */
- reset_common_data();
- cc.flags |= VB2_CONTEXT_FORCE_DEVELOPER_MODE;
- TEST_SUCC(vb2_check_dev_switch(&cc), "dev on via ctx flag");
- TEST_NEQ(sd->flags & VB2_SD_FLAG_DEV_MODE_ENABLED, 0, " sd in dev");
- vb2_secdata_get(&cc, VB2_SECDATA_FLAGS, &v);
- TEST_EQ(v, VB2_SECDATA_FLAG_LAST_BOOT_DEVELOPER,
- " doesn't set dev on in secdata but does set last boot dev");
- TEST_EQ(mock_tpm_clear_called, 1, " tpm clear");
-
/* Request disable by ctx flag */
reset_common_data();
vb2_secdata_set(&cc, VB2_SECDATA_FLAGS,
@@ -453,16 +443,6 @@
TEST_NEQ(cc.flags & VB2_CONTEXT_DEVELOPER_MODE, 0, " ctx in dev");
TEST_EQ(mock_tpm_clear_called, 1, " tpm clear");
- /* Can still override with context flag */
- reset_common_data();
- cc.flags |= VB2_CONTEXT_RECOVERY_MODE;
- cc.flags |= VB2_CONTEXT_FORCE_DEVELOPER_MODE;
- sd->status &= ~VB2_SD_STATUS_SECDATA_INIT;
- TEST_SUCC(vb2_check_dev_switch(&cc), "secdata fail recovery ctx");
- TEST_NEQ(sd->flags & VB2_SD_FLAG_DEV_MODE_ENABLED, 0, " sd in dev");
- TEST_NEQ(cc.flags & VB2_CONTEXT_DEVELOPER_MODE, 0, " ctx in dev");
- TEST_EQ(mock_tpm_clear_called, 1, " tpm clear");
-
/* Force wipeout by ctx flag */
reset_common_data();
cc.flags |= VB2_CONTEXT_FORCE_WIPEOUT_MODE;