From fb4e4080112d9005f83b57551ab19cbf478da36a Mon Sep 17 00:00:00 2001 From: Julius Werner Date: Fri, 15 May 2015 12:50:07 -0700 Subject: vboot2: Support VB2_GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK Looks like the DISABLE_FW_ROLLBACK_CHECK GBB flag (0x200) was forgotten in the vboot2 implementation. It's too late for Veyron now, but let's at least fix it for future devices. BRANCH=none BUG=None TEST=make runtests Change-Id: I867f7aada28be3897efda73a6bdc3b0848c23dca Signed-off-by: Julius Werner Reviewed-on: https://chromium-review.googlesource.com/271419 Reviewed-by: Bill Richardson --- tests/vb20_misc_tests.c | 10 ++++++++++ tests/vb21_misc_tests.c | 10 ++++++++++ 2 files changed, 20 insertions(+) (limited to 'tests') diff --git a/tests/vb20_misc_tests.c b/tests/vb20_misc_tests.c index 8021888c..e3a5123f 100644 --- a/tests/vb20_misc_tests.c +++ b/tests/vb20_misc_tests.c @@ -268,6 +268,11 @@ static void verify_keyblock_tests(void) TEST_EQ(vb2_load_fw_keyblock(&cc), VB2_ERROR_FW_KEYBLOCK_VERSION_ROLLBACK, "keyblock rollback"); + + reset_common_data(FOR_KEYBLOCK); + kb->data_key.key_version = 1; + sd->gbb_flags |= VB2_GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK; + TEST_SUCC(vb2_load_fw_keyblock(&cc), "keyblock rollback with GBB flag"); } static void verify_preamble_tests(void) @@ -345,6 +350,11 @@ static void verify_preamble_tests(void) VB2_ERROR_FW_PREAMBLE_VERSION_ROLLBACK, "preamble version rollback"); + reset_common_data(FOR_PREAMBLE); + pre->firmware_version = 1; + sd->gbb_flags |= VB2_GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK; + TEST_SUCC(vb2_load_fw_preamble(&cc), "version rollback with GBB flag"); + reset_common_data(FOR_PREAMBLE); pre->firmware_version = 3; TEST_SUCC(vb2_load_fw_preamble(&cc), diff --git a/tests/vb21_misc_tests.c b/tests/vb21_misc_tests.c index 826c3fb1..d70cabd5 100644 --- a/tests/vb21_misc_tests.c +++ b/tests/vb21_misc_tests.c @@ -274,6 +274,11 @@ static void load_keyblock_tests(void) TEST_EQ(vb2_load_fw_keyblock(&ctx), VB2_ERROR_FW_KEYBLOCK_VERSION_ROLLBACK, "keyblock rollback"); + + reset_common_data(FOR_KEYBLOCK); + dk->key_version = 1; + sd->gbb_flags |= VB2_GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK; + TEST_SUCC(vb2_load_fw_keyblock(&ctx), "keyblock rollback + GBB flag"); } static void load_preamble_tests(void) @@ -352,6 +357,11 @@ static void load_preamble_tests(void) VB2_ERROR_FW_PREAMBLE_VERSION_ROLLBACK, "preamble version rollback"); + reset_common_data(FOR_PREAMBLE); + pre->fw_version = 1; + sd->gbb_flags |= VB2_GBB_FLAG_DISABLE_FW_ROLLBACK_CHECK; + TEST_SUCC(vb2_load_fw_preamble(&ctx), "version rollback with GBB flag"); + reset_common_data(FOR_PREAMBLE); pre->fw_version = 3; TEST_SUCC(vb2_load_fw_preamble(&ctx), -- cgit v1.2.1