aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim Bendebury <vbendeb@chromium.org>2017-12-09 03:03:53 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-12-09 03:03:53 +0000
commit013acaed8f6ff657348bcf52d3b36e017320ada0 (patch)
tree4d638b10f3160aec9d3bbb2f789bafd685f0eed9
parent56e9028c1e019db64416acfcb9b55b6357637aea (diff)
parent3f1d0efcbc9ce6322c0af1b02bed2fa9dd20c7ec (diff)
downloadtpm2-013acaed8f6ff657348bcf52d3b36e017320ada0.tar.gz
NV: allow reading FWMP before startup am: c456225bd5 am: f91bf20527 am: 39e898f8b5
am: 3f1d0efcbc Change-Id: I2a64b0e0c3ea3438cdeea153b8c232aedc72b94f
-rw-r--r--NV.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/NV.c b/NV.c
index 0099c19..3e639ea 100644
--- a/NV.c
+++ b/NV.c
@@ -1045,7 +1045,15 @@ NvIndexIsAccessible(
// indicated as present
if(nvIndex.publicArea.attributes.TPMA_NV_PLATFORMCREATE == CLEAR)
{
- if(gc.shEnable == FALSE)
+ /*
+ * FWMP is a Chrome OS specific object saved at address 0x100a, it
+ * needs to be available for reading even before TPM2_Startup
+ * command is issued.
+ */
+ UINT32 isFwmpRead = (handle == 0x100100a) &&
+ IsReadOperation(commandCode);
+
+ if((gc.shEnable == FALSE) && !isFwmpRead)
return TPM_RC_HANDLE;
}
// if phEnableNV is CLEAR, a platform created Index should not