Reviewed-by: [email protected] > -----Original Message----- > From: Zhang, Chao B > Sent: Wednesday, August 31, 2016 9:47 AM > To: [email protected] > Cc: Long, Qin <[email protected]>; Yao, Jiewen <[email protected]>; > Zhang, Chao B <[email protected]> > Subject: [PATCH] SecurityPkg: TPM12CommandLib: Add Response > returnCode Check > > Check response return code before return from Tpm12Extend and > Tpm12PhysicalPresence. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Chao Zhang <[email protected]> > --- > SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c | 5 > +++++ > .../Library/Tpm12CommandLib/Tpm12PhysicalPresence.c | 14 > +++++++++++++- > 2 files changed, 18 insertions(+), 1 deletion(-) > > diff --git a/SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c > b/SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c > index 321653f..18d5b96 100644 > --- a/SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c > +++ b/SecurityPkg/Library/Tpm12CommandLib/Tpm12Pcr.c > @@ -74,6 +74,11 @@ Tpm12Extend ( > return Status; > } > > + if (SwapBytes32(Response.Hdr.returnCode) != TPM_SUCCESS) { > + DEBUG ((EFI_D_ERROR, "Tpm12Extend: Response Code error! > 0x%08x\r\n", SwapBytes32(Response.Hdr.returnCode))); > + return EFI_DEVICE_ERROR; > + } > + > if (NewPcrValue != NULL) { > CopyMem (NewPcrValue, &Response.TpmDigest, sizeof > (*NewPcrValue)); > } > diff --git > a/SecurityPkg/Library/Tpm12CommandLib/Tpm12PhysicalPresence.c > b/SecurityPkg/Library/Tpm12CommandLib/Tpm12PhysicalPresence.c > index a730334..d8d1998 100644 > --- a/SecurityPkg/Library/Tpm12CommandLib/Tpm12PhysicalPresence.c > +++ b/SecurityPkg/Library/Tpm12CommandLib/Tpm12PhysicalPresence.c > @@ -44,6 +44,7 @@ Tpm12PhysicalPresence ( > IN TPM_PHYSICAL_PRESENCE PhysicalPresence > ) > { > + EFI_STATUS Status; > TPM_CMD_PHYSICAL_PRESENCE Command; > TPM_RSP_COMMAND_HDR Response; > UINT32 Length; > @@ -56,5 +57,16 @@ Tpm12PhysicalPresence ( > Command.Hdr.ordinal = SwapBytes32 > (TSC_ORD_PhysicalPresence); > Command.PhysicalPresence = SwapBytes16 (PhysicalPresence); > Length = sizeof (Response); > - return Tpm12SubmitCommand (sizeof (Command), (UINT8 *)&Command, > &Length, (UINT8 *)&Response); > + > + Status = Tpm12SubmitCommand (sizeof (Command), (UINT8 > *)&Command, &Length, (UINT8 *)&Response); > + if (EFI_ERROR (Status)) { > + return Status; > + } > + > + if (SwapBytes32(Response.returnCode) != TPM_SUCCESS) { > + DEBUG ((EFI_D_ERROR, "Tpm12PhysicalPresence: Response Code > error! 0x%08x\r\n", SwapBytes32(Response.returnCode))); > + return EFI_DEVICE_ERROR; > + } > + > + return EFI_SUCCESS; > } > -- > 1.9.5.msysgit.1
_______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

