Pushed ab5ab2f60348138a4b7b1c95ad6f5d0954fb96f1 > -----Original Message----- > From: Gonzalez Del Cueto, Rodrigo <rodrigo.gonzalez.del.cu...@intel.com> > Sent: Friday, December 17, 2021 10:48 AM > To: devel@edk2.groups.io > Cc: Gonzalez Del Cueto, Rodrigo <rodrigo.gonzalez.del.cu...@intel.com>; > Wang, Jian J <jian.j.w...@intel.com>; Yao, Jiewen <jiewen....@intel.com> > Subject: [PATCH] SecurityPkg: TPM must go to Idle state on CRB command > completion > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3463 > > In V2: Fixed patch format and uncrustify cleanup > > In V1: To follow the TCG CRB protocol specification, on every CRB TPM > command completion the TPM should return to Idle state, regardless of > the CRB Idle Bypass capability reported by the TPM device. > > See: TCG PC Client Device Driver Design Principles for TPM 2.0, > Version 1.0, Rev 0.27 > > Signed-off-by: Rodrigo Gonzalez del Cueto > <rodrigo.gonzalez.del.cu...@intel.com> > Cc: Jian J Wang <jian.j.w...@intel.com> > Cc: Jiewen Yao <jiewen....@intel.com> > --- > SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c | 14 ++------------ > 1 file changed, 2 insertions(+), 12 deletions(-) > > diff --git a/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c > b/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c > index 40ab998004..1d99beaa10 100644 > --- a/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c > +++ b/SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2Ptp.c > @@ -1,7 +1,7 @@ > /** @file > PTP (Platform TPM Profile) CRB (Command Response Buffer) interface used by > dTPM2.0 library. > > -Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR> > +Copyright (c) 2015 - 2021, Intel Corporation. All rights reserved.<BR> > Copyright (c), Microsoft Corporation. > SPDX-License-Identifier: BSD-2-Clause-Patent > > @@ -320,7 +320,7 @@ PtpCrbTpmCommand ( > // Command completed, but buffer is not enough > // > Status = EFI_BUFFER_TOO_SMALL; > - goto GoReady_Exit; > + goto GoIdle_Exit; > } > > *SizeOut = TpmOutSize; > @@ -340,16 +340,6 @@ PtpCrbTpmCommand ( > DEBUG ((DEBUG_VERBOSE, "\n")); > DEBUG_CODE_END (); > > -GoReady_Exit: > - // > - // Goto Ready State if command is completed successfully and TPM support > IdleBypass > - // If not supported. flow down to GoIdle > - // > - if (GetCachedIdleByPass () == 1) { > - MmioWrite32 ((UINTN)&CrbReg->CrbControlRequest, > PTP_CRB_CONTROL_AREA_REQUEST_COMMAND_READY); > - return Status; > - } > - > // > // Do not wait for state transition for TIMEOUT_C > // This function will try to wait 2 TIMEOUT_C at the beginning in next > call. > -- > 2.26.2.windows.1
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#85073): https://edk2.groups.io/g/devel/message/85073 Mute This Topic: https://groups.io/mt/87782226/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-