diff options
author | Randall Spangler <rspangler@chromium.org> | 2012-06-13 16:43:59 -0700 |
---|---|---|
committer | Gerrit <chrome-bot@google.com> | 2012-06-14 18:57:52 -0700 |
commit | acd6f4688abb9a0253bb469a8a52046c97281347 (patch) | |
tree | 7960d5838caa2bb7d11c199ba70f1747947b5196 /tests/vboot_firmware_tests.c | |
parent | 3dae2288bb33a2a1bdc839f5e1e72f7507387926 (diff) | |
download | vboot-acd6f4688abb9a0253bb469a8a52046c97281347.tar.gz |
Add GBB flags to enable dev mode by default
And enable dev_boot_usb by default.
And disable rollback checks.
The first flag is necessary for factory to build with keyboard
controlled dev mode. The other flags are really handy for development
on systems where you've defeated firmware WP and are installing custom
firmware.
BUG=chromium-os:31844
TEST=make && make runtests
Signed-off-by: Randall Spangler <rspangler@chromium.org>
Change-Id: I9d837fee676cb0186ea98f13005ad60a9ab86393
Reviewed-on: https://gerrit.chromium.org/gerrit/25265
Tested-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Bill Richardson <wfrichar@chromium.org>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
Commit-Ready: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'tests/vboot_firmware_tests.c')
-rw-r--r-- | tests/vboot_firmware_tests.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/vboot_firmware_tests.c b/tests/vboot_firmware_tests.c index 7a023226..0443b061 100644 --- a/tests/vboot_firmware_tests.c +++ b/tests/vboot_firmware_tests.c @@ -253,6 +253,14 @@ static void LoadFirmwareTest(void) { TEST_EQ(shared->check_fw_b_result, VBSD_LF_CHECK_DATA_KEY_PARSE, "Data key invalid"); + /* Test invalid key version with GBB bypass-rollback flag */ + ResetMocks(); + vblock[0].data_key.key_version = 1; /* Simulate rollback */ + gbb->flags = GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK; + TestLoadFirmware(VBERROR_SUCCESS, 0, "Key version check + GBB override"); + TEST_EQ(shared->check_fw_a_result, VBSD_LF_CHECK_VALID, + "Key version rollback + GBB override"); + /* Test invalid preamble with A */ ResetMocks(); mpreamble[0].header_version_major = 1; /* Simulate failure */ @@ -277,6 +285,17 @@ static void LoadFirmwareTest(void) { TEST_EQ(shared->check_fw_b_result, VBSD_LF_CHECK_FW_ROLLBACK, "Firmware version overflow"); + /* Test invalid firmware versions with GBB bypass-rollback flag */ + ResetMocks(); + mpreamble[0].firmware_version = 3; /* Simulate rollback */ + mpreamble[1].firmware_version = 0x10001; /* Check overflow */ + gbb->flags = GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK; + TestLoadFirmware(VBERROR_SUCCESS, 0, "Firmware version check + GBB bypass"); + TEST_EQ(shared->check_fw_a_result, VBSD_LF_CHECK_VALID, + "Firmware version rollback + GBB override"); + TEST_EQ(shared->check_fw_b_result, VBSD_LF_CHECK_HEADER_VALID, + "Firmware version overflow + GBB override"); + /* Test RO normal with A */ ResetMocks(); mpreamble[0].flags = VB_FIRMWARE_PREAMBLE_USE_RO_NORMAL; |