summaryrefslogtreecommitdiffstats
path: root/SecurityPkg/Tcg/TcgDxe
diff options
context:
space:
mode:
Diffstat (limited to 'SecurityPkg/Tcg/TcgDxe')
-rw-r--r--SecurityPkg/Tcg/TcgDxe/TcgDxe.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/SecurityPkg/Tcg/TcgDxe/TcgDxe.c b/SecurityPkg/Tcg/TcgDxe/TcgDxe.c
index 5ef34d0ba2..aa16641fde 100644
--- a/SecurityPkg/Tcg/TcgDxe/TcgDxe.c
+++ b/SecurityPkg/Tcg/TcgDxe/TcgDxe.c
@@ -505,6 +505,7 @@ TcgDxeHashLogExtendEvent (
)
{
TCG_DXE_DATA *TcgData;
+ EFI_STATUS Status;
if (TCGLogData == NULL || EventLogLastEntry == NULL){
return EFI_INVALID_PARAMETER;
@@ -520,13 +521,19 @@ TcgDxeHashLogExtendEvent (
return EFI_UNSUPPORTED;
}
- return TcgDxeHashLogExtendEventI (
- TcgData,
- (UINT8 *) (UINTN) HashData,
- HashDataLen,
- (TCG_PCR_EVENT_HDR*)TCGLogData,
- TCGLogData->Event
- );
+ Status = TcgDxeHashLogExtendEventI (
+ TcgData,
+ (UINT8 *) (UINTN) HashData,
+ HashDataLen,
+ (TCG_PCR_EVENT_HDR*)TCGLogData,
+ TCGLogData->Event
+ );
+
+ if (!EFI_ERROR(Status)){
+ *EventLogLastEntry = (EFI_PHYSICAL_ADDRESS)(UINTN) TcgData->LastEvent;
+ }
+
+ return Status;
}
TCG_DXE_DATA mTcgDxeData = {