summaryrefslogtreecommitdiffstats
path: root/src/usr/secureboot/trusted/trustedbootCmds.C
diff options
context:
space:
mode:
authorIlya Smirnov <ismirno@us.ibm.com>2019-02-20 15:16:28 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-02-22 10:03:00 -0600
commit09e13a7563a3e0dd6ed69100137d2ea4a7d7ee80 (patch)
treed648fc07c4803c075437857dbb04bf0a7c24fffa /src/usr/secureboot/trusted/trustedbootCmds.C
parenteba5c2ffe5ffb1f50966b7990e2f5f71f09105ce (diff)
downloadtalos-hostboot-09e13a7563a3e0dd6ed69100137d2ea4a7d7ee80.tar.gz
talos-hostboot-09e13a7563a3e0dd6ed69100137d2ea4a7d7ee80.zip
Secureboot: Enhanced Multinode Comm: Quote Size Fix
It was discovered that the quote and signature data returned from TPM as part of the new multinode comm contained an extra uint32 size field that should not be inlcuded into the slave quote blob. This commit removes that size field from the quote. Change-Id: Ia40eeee67567d08b1c1982f964dab1db411ff81b RTC: 203645 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72216 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Christopher J. Engel <cjengel@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/secureboot/trusted/trustedbootCmds.C')
-rw-r--r--src/usr/secureboot/trusted/trustedbootCmds.C5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/usr/secureboot/trusted/trustedbootCmds.C b/src/usr/secureboot/trusted/trustedbootCmds.C
index 12ce871b6..5040cadab 100644
--- a/src/usr/secureboot/trusted/trustedbootCmds.C
+++ b/src/usr/secureboot/trusted/trustedbootCmds.C
@@ -426,6 +426,7 @@ errlHndl_t tpmUnmarshalResponseData(uint32_t i_commandCode,
reinterpret_cast<TPM2_QuoteOut*>(o_outBuf);
TPM2_QuoteOut* l_tpmRespData =
reinterpret_cast<TPM2_QuoteOut*>(i_respBuf);
+ l_respPtr->authSessionSize = l_tpmRespData->authSessionSize;
memcpy(l_respPtr->quoteData,
l_tpmRespData->quoteData,
sizeof(l_tpmRespData->base.responseSize));
@@ -1520,7 +1521,9 @@ errlHndl_t tpmCmdGenerateQuote(TpmTarget* i_target,
// The response size contains the size of the base response structure too,
// so subtract that size from the size of the actual quote data.
- o_data->size = l_read->base.responseSize-sizeof(l_read->base);
+ o_data->size = l_read->base.responseSize -
+ sizeof(l_read->base) -
+ sizeof(l_read->authSessionSize);
memcpy(o_data->data, l_quoteDataPtr, o_data->size);
} while(0);
OpenPOWER on IntegriCloud