Perform a full self test before one-time initialization.

Change-Id: I2f5232d5133c0725ec21f885a4632e980062be8f

BUG=chrome-os-partner: 1826
TEST=none

Review URL: http://codereview.chromium.org/6688004
This commit is contained in:
Luigi Semenzato
2011-03-17 10:33:41 -07:00
parent ad6824ba4f
commit 83c3714ed3

View File

@@ -103,6 +103,15 @@ static uint32_t OneTimeInitializeTPM(RollbackSpaceFirmware* rsf,
VBDEBUG(("TPM: One-time initialization\n")); VBDEBUG(("TPM: One-time initialization\n"));
/* Do a full test. This only happens the first time the device is turned on
* in the factory, so performance is not an issue. This is almost certainly
* not necessary, but it gives us more confidence about some code paths below
* that are difficult to test---specifically the ones that set lifetime
* flags, and are only executed once per physical TPM. */
result = TlclSelfTestFull();
if (result != TPM_SUCCESS)
return result;
result = TlclGetPermanentFlags(&pflags); result = TlclGetPermanentFlags(&pflags);
if (result != TPM_SUCCESS) if (result != TPM_SUCCESS)
return result; return result;