diff options
author | Joel Kitching <kitching@google.com> | 2019-06-12 12:32:27 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-06-13 19:46:01 +0000 |
commit | de5b8dff95811ba0bbe27c7f5cb7bb0269eab761 (patch) | |
tree | ececbe1b1f97facef39cbd1cdcdfe97eb0c969df | |
parent | d15663d4f594e2c82ec73570b2a6772e719c0c3f (diff) | |
download | vboot-de5b8dff95811ba0bbe27c7f5cb7bb0269eab761.tar.gz |
vboot: correct VB2_SECDATAK_SIZE constant to 13
This constant was incorrectly set to 14, whereas
sizeof(vb2_secdatak) is 13.
Update the constant its correct value, and add a test for
each of secdata and secdatak to check the constant values.
Previously, this constant was not used anywhere. The
secdatak space is created and initialized in coreboot
with a hard-coded (correct) size and initial value.
So there should be no worry about devices out in the
field with TPM secdatak size set to 14.
BUG=b:124141368, chromium:972956
TEST=make clean && make runtests
BRANCH=none
Change-Id: I0a6072aef2de401bd3cd40ac3b002f754da19560
Signed-off-by: Joel Kitching <kitching@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/1655049
Reviewed-by: Julius Werner <jwerner@chromium.org>
Tested-by: Joel Kitching <kitching@chromium.org>
Commit-Queue: Julius Werner <jwerner@chromium.org>
-rw-r--r-- | firmware/2lib/include/2constants.h | 2 | ||||
-rw-r--r-- | tests/vb2_secdata_tests.c | 4 | ||||
-rw-r--r-- | tests/vb2_secdatak_tests.c | 4 |
3 files changed, 9 insertions, 1 deletions
diff --git a/firmware/2lib/include/2constants.h b/firmware/2lib/include/2constants.h index ef772ef6..76e7f22e 100644 --- a/firmware/2lib/include/2constants.h +++ b/firmware/2lib/include/2constants.h @@ -23,7 +23,7 @@ /* Size of secure data spaces used by vboot */ #define VB2_SECDATA_SIZE 10 -#define VB2_SECDATAK_SIZE 14 +#define VB2_SECDATAK_SIZE 13 /* * Recommended size of work buffer for firmware verification stage. diff --git a/tests/vb2_secdata_tests.c b/tests/vb2_secdata_tests.c index 99d7788a..add99938 100644 --- a/tests/vb2_secdata_tests.c +++ b/tests/vb2_secdata_tests.c @@ -41,6 +41,10 @@ static void secdata_test(void) }; uint32_t v = 1; + /* Check size constant */ + TEST_EQ(VB2_SECDATA_SIZE, sizeof(struct vb2_secdata), + "Struct size constant"); + /* Blank data is invalid */ memset(c.secdata, 0xa6, sizeof(c.secdata)); TEST_EQ(vb2api_secdata_check(&c), diff --git a/tests/vb2_secdatak_tests.c b/tests/vb2_secdatak_tests.c index 81eb0345..df68351a 100644 --- a/tests/vb2_secdatak_tests.c +++ b/tests/vb2_secdatak_tests.c @@ -42,6 +42,10 @@ static void secdatak_test(void) }; uint32_t v = 1; + /* Check size constant */ + TEST_EQ(VB2_SECDATAK_SIZE, sizeof(struct vb2_secdatak), + "Struct size constant"); + /* Blank data is invalid */ memset(c.secdatak, 0xa6, sizeof(c.secdatak)); TEST_EQ(vb2api_secdatak_check(&c), |