diff options
author | Joel Kitching <kitching@google.com> | 2019-08-06 16:51:04 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-08-21 04:02:02 +0000 |
commit | aedfd3f439e5c78d110e178a41ae0def3c409d5c (patch) | |
tree | d69b79796b4f258c769d99feb433f186de603e87 /firmware/lib/rollback_index.c | |
parent | 59bd6409290b7401ebfca216d5c7f945883fe73b (diff) | |
download | vboot-aedfd3f439e5c78d110e178a41ae0def3c409d5c.tar.gz |
vboot/secdata: remove legacy version checks on rollback spaces
The code to deal with version < 2 rollback spaces has been around
since 2013. Legacy devices will not be updating to this code,
thus we can remove the legacy silent upgrade.
BUG=b:124141368, chromium:972956
TEST=make clean && make runtests
BRANCH=none
Change-Id: I8ce22c37418ddc56cb74cc792540b54b3ee7bbd7
Signed-off-by: Joel Kitching <kitching@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/1727949
Reviewed-by: Joel Kitching <kitching@chromium.org>
Tested-by: Joel Kitching <kitching@chromium.org>
Commit-Queue: Joel Kitching <kitching@chromium.org>
Diffstat (limited to 'firmware/lib/rollback_index.c')
-rw-r--r-- | firmware/lib/rollback_index.c | 34 |
1 files changed, 4 insertions, 30 deletions
diff --git a/firmware/lib/rollback_index.c b/firmware/lib/rollback_index.c index 07c7deec..7a1c0405 100644 --- a/firmware/lib/rollback_index.c +++ b/firmware/lib/rollback_index.c @@ -77,18 +77,8 @@ uint32_t ReadSpaceFirmware(RollbackSpaceFirmware *rsf) if (TPM_SUCCESS != r) return r; - /* - * No CRC in this version, so we'll create one when we write - * it. Note that we're marking this as version 2, not - * ROLLBACK_SPACE_FIRMWARE_VERSION, because version 2 just - * added the CRC. Later versions will need to set default - * values for any extra fields explicitly (probably here). - */ - if (rsf->struct_version < 2) { - /* Danger Will Robinson! Danger! */ - rsf->struct_version = 2; - return TPM_SUCCESS; - } + if (rsf->struct_version < ROLLBACK_SPACE_FIRMWARE_VERSION) + return TPM_E_STRUCT_VERSION; if (rsf->crc8 != vb2_crc8(rsf, offsetof(RollbackSpaceFirmware, crc8))) { VB2_DEBUG("TPM: bad CRC\n"); @@ -100,9 +90,6 @@ uint32_t ReadSpaceFirmware(RollbackSpaceFirmware *rsf) uint32_t WriteSpaceFirmware(RollbackSpaceFirmware *rsf) { - /* All writes should use struct_version 2 or greater. */ - if (rsf->struct_version < 2) - rsf->struct_version = 2; rsf->crc8 = vb2_crc8(rsf, offsetof(RollbackSpaceFirmware, crc8)); return SafeWrite(FIRMWARE_NV_INDEX, rsf, sizeof(RollbackSpaceFirmware)); @@ -142,18 +129,8 @@ uint32_t ReadSpaceKernel(RollbackSpaceKernel *rsk) if (TPM_SUCCESS != r) return r; - /* - * No CRC in this version, so we'll create one when we write - * it. Note that we're marking this as version 2, not - * ROLLBACK_SPACE_KERNEL_VERSION, because version 2 just added - * the CRC. Later versions will need to set default values for - * any extra fields explicitly (probably here). - */ - if (rsk->struct_version < 2) { - /* Danger Will Robinson! Danger! */ - rsk->struct_version = 2; - return TPM_SUCCESS; - } + if (rsk->struct_version < ROLLBACK_SPACE_FIRMWARE_VERSION) + return TPM_E_STRUCT_VERSION; if (rsk->crc8 != vb2_crc8(rsk, offsetof(RollbackSpaceKernel, crc8))) { VB2_DEBUG("TPM: bad CRC\n"); @@ -165,9 +142,6 @@ uint32_t ReadSpaceKernel(RollbackSpaceKernel *rsk) uint32_t WriteSpaceKernel(RollbackSpaceKernel *rsk) { - /* All writes should use struct_version 2 or greater. */ - if (rsk->struct_version < 2) - rsk->struct_version = 2; rsk->crc8 = vb2_crc8(rsk, offsetof(RollbackSpaceKernel, crc8)); return SafeWrite(KERNEL_NV_INDEX, rsk, sizeof(RollbackSpaceKernel)); |