Index: firmware/lib/rollback_index.c |
diff --git a/firmware/lib/rollback_index.c b/firmware/lib/rollback_index.c |
index 973a11bb4849134274186a7ffa3c480131c392ff..f368355fbea65dcb2c7348cda2993e6e3e7fdeeb 100644 |
--- a/firmware/lib/rollback_index.c |
+++ b/firmware/lib/rollback_index.c |
@@ -271,8 +271,7 @@ __pragma(warning (disable: 4100)) |
/* Dummy implementations which don't support TPM rollback protection */ |
-uint32_t RollbackFirmwareSetup(int developer_mode, |
- uint16_t* key_version, uint16_t* version) { |
+uint32_t RollbackFirmwareSetup(int developer_mode, uint32_t* version) { |
#ifndef CHROMEOS_ENVIRONMENT |
/* Initialize the TPM, but ignore return codes. In ChromeOS |
* environment, don't even talk to the TPM. */ |
@@ -281,11 +280,11 @@ uint32_t RollbackFirmwareSetup(int developer_mode, |
TlclSelfTestFull(); |
#endif |
- *key_version = *version = 0; |
+ *version = 0; |
return TPM_SUCCESS; |
} |
-uint32_t RollbackFirmwareWrite(uint16_t key_version, uint16_t version) { |
+uint32_t RollbackFirmwareWrite(uint32_t version) { |
return TPM_SUCCESS; |
} |
@@ -304,12 +303,12 @@ uint32_t RollbackKernelRecovery(int developer_mode) { |
return TPM_SUCCESS; |
} |
-uint32_t RollbackKernelRead(uint16_t* key_version, uint16_t* version) { |
- *key_version = *version = 0; |
+uint32_t RollbackKernelRead(uint32_t* version) { |
+ *version = 0; |
return TPM_SUCCESS; |
} |
-uint32_t RollbackKernelWrite(uint16_t key_version, uint16_t version) { |
+uint32_t RollbackKernelWrite(uint32_t version) { |
return TPM_SUCCESS; |
} |
@@ -319,28 +318,22 @@ uint32_t RollbackKernelLock(void) { |
#else |
-uint32_t RollbackFirmwareSetup(int developer_mode, uint16_t* key_version, |
- uint16_t* version) { |
+uint32_t RollbackFirmwareSetup(int developer_mode, uint32_t* version) { |
RollbackSpaceFirmware rsf; |
RETURN_ON_FAILURE(SetupTPM(0, developer_mode, &rsf)); |
- *key_version = (uint16_t)(rsf.fw_versions >> 16); |
- *version = (uint16_t)(rsf.fw_versions & 0xffff); |
- |
- VBDEBUG(("TPM: RollbackFirmwareSetup %x %x %x\n", (int)rsf.fw_versions, (int)*key_version, (int)*version)); |
- |
+ *version = rsf.fw_versions; |
+ VBDEBUG(("TPM: RollbackFirmwareSetup %x %x %x\n", (int)rsf.fw_versions)); |
return TPM_SUCCESS; |
} |
-uint32_t RollbackFirmwareWrite(uint16_t key_version, uint16_t version) { |
+uint32_t RollbackFirmwareWrite(uint32_t version) { |
RollbackSpaceFirmware rsf; |
- uint32_t new_versions = ((uint32_t)key_version << 16) | version; |
- |
- VBDEBUG(("TPM: RollbackFirmwareWrite(%d, %d)\n", (int)key_version, (int)version)); |
RETURN_ON_FAILURE(ReadSpaceFirmware(&rsf)); |
- VBDEBUG(("TPM: RollbackFirmwareWrite %x --> %x\n", (int)rsf.fw_versions, (int)new_versions)); |
- rsf.fw_versions = new_versions; |
+ VBDEBUG(("TPM: RollbackFirmwareWrite %x --> %x\n", (int)rsf.fw_versions, |
+ (int)version)); |
+ rsf.fw_versions = version; |
return WriteSpaceFirmware(&rsf); |
} |
@@ -363,36 +356,27 @@ uint32_t RollbackKernelRecovery(int developer_mode) { |
return result; |
} |
-uint32_t RollbackKernelRead(uint16_t* key_version, uint16_t* version) { |
+uint32_t RollbackKernelRead(uint32_t* version) { |
if (g_rollback_recovery_mode) { |
- *key_version = 0; |
*version = 0; |
} else { |
RollbackSpaceKernel rsk; |
RETURN_ON_FAILURE(ReadSpaceKernel(&rsk)); |
- *key_version = (uint16_t)(rsk.kernel_versions >> 16); |
- *version = (uint16_t)(rsk.kernel_versions & 0xffff); |
- VBDEBUG(("TPM: RollbackKernelRead %x %x %x\n", (int)rsk.kernel_versions, |
- (int)*key_version, (int)*version)); |
+ *version = rsk.kernel_versions; |
+ VBDEBUG(("TPM: RollbackKernelRead %x\n", (int)rsk.kernel_versions)); |
} |
return TPM_SUCCESS; |
} |
-uint32_t RollbackKernelWrite(uint16_t key_version, uint16_t version) { |
- |
- VBDEBUG(("TPM: RollbackKernelWrite(%d, %d)\n", (int)key_version, |
- (int)version)); |
- |
+uint32_t RollbackKernelWrite(uint32_t version) { |
if (g_rollback_recovery_mode) { |
return TPM_SUCCESS; |
} else { |
RollbackSpaceKernel rsk; |
- uint32_t new_versions = ((uint32_t)key_version << 16) | version; |
- |
RETURN_ON_FAILURE(ReadSpaceKernel(&rsk)); |
VBDEBUG(("TPM: RollbackKernelWrite %x --> %x\n", (int)rsk.kernel_versions, |
- (int)new_versions)); |
- rsk.kernel_versions = new_versions; |
+ (int)version)); |
+ rsk.kernel_versions = version; |
return WriteSpaceKernel(&rsk); |
} |
} |