From f7fe68db7dad70646523a6ae2442f592651df8d9 Mon Sep 17 00:00:00 2001 From: Chao Zhang Date: Fri, 31 Oct 2014 10:59:25 +0000 Subject: Remove redundant ASSERT in TcgDxe & TreeDxe. Some asserts are removed directly, some are replaced by debug output. ASSERT for SetupEventLog is kept. It is the foundation of TcgProtocol and TrEEProtocol Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Chao Zhang Reviewed-by: Yao Jiewen git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16281 6f19259b-4bc3-4df7-8a09-765794883524 --- SecurityPkg/Tcg/TcgDxe/TcgDxe.c | 43 +++++++++++++++++++++++++++------------ SecurityPkg/Tcg/TrEEDxe/TrEEDxe.c | 33 +++++++++++++++++++----------- 2 files changed, 51 insertions(+), 25 deletions(-) diff --git a/SecurityPkg/Tcg/TcgDxe/TcgDxe.c b/SecurityPkg/Tcg/TcgDxe/TcgDxe.c index df9700a..bf9c752 100644 --- a/SecurityPkg/Tcg/TcgDxe/TcgDxe.c +++ b/SecurityPkg/Tcg/TcgDxe/TcgDxe.c @@ -505,7 +505,10 @@ TcgDxeHashLogExtendEventI ( (UINTN) HashDataLen, &NewEventHdr->Digest ); - ASSERT_EFI_ERROR (Status); + if (EFI_ERROR(Status)) { + DEBUG ((DEBUG_ERROR, "TpmCommHashAll Failed. %x\n", Status)); + return Status; + } } Status = TpmCommExtend ( @@ -745,9 +748,7 @@ MeasureHandoffTables ( (VOID **) &SmbiosTable ); - if (!EFI_ERROR (Status)) { - ASSERT (SmbiosTable != NULL); - + if (!EFI_ERROR (Status) && SmbiosTable != NULL) { TcgEvent.PCRIndex = 1; TcgEvent.EventType = EV_EFI_HANDOFF_TABLES; TcgEvent.EventSize = sizeof (HandoffTables); @@ -1023,9 +1024,11 @@ MeasureAllBootVariables ( if (Status == EFI_NOT_FOUND) { return EFI_SUCCESS; } - ASSERT (BootOrder != NULL); if (EFI_ERROR (Status)) { + // + // BootOrder can't be NULL if status is not EFI_NOT_FOUND + // FreePool (BootOrder); return Status; } @@ -1091,14 +1094,18 @@ OnReadyToBoot ( Status = TcgMeasureAction ( EFI_CALLING_EFI_APPLICATION ); - ASSERT_EFI_ERROR (Status); + if (EFI_ERROR (Status)) { + DEBUG ((EFI_D_ERROR, "%s not Measured. Error!\n", EFI_CALLING_EFI_APPLICATION)); + } // // 2. Draw a line between pre-boot env and entering post-boot env. // for (PcrIndex = 0; PcrIndex < 8; PcrIndex++) { Status = MeasureSeparatorEvent (PcrIndex); - ASSERT_EFI_ERROR (Status); + if (EFI_ERROR (Status)) { + DEBUG ((EFI_D_ERROR, "Seperator Event not Measured. Error!\n")); + } } // @@ -1119,7 +1126,9 @@ OnReadyToBoot ( Status = TcgMeasureAction ( EFI_RETURNING_FROM_EFI_APPLICATOIN ); - ASSERT_EFI_ERROR (Status); + if (EFI_ERROR (Status)) { + DEBUG ((EFI_D_ERROR, "%s not Measured. Error!\n", EFI_RETURNING_FROM_EFI_APPLICATOIN)); + } } DEBUG ((EFI_D_INFO, "TPM TcgDxe Measure Data when ReadyToBoot\n")); @@ -1198,7 +1207,10 @@ InstallAcpiTable ( &TableKey ); } - ASSERT_EFI_ERROR (Status); + + if (EFI_ERROR (Status)) { + DEBUG((EFI_D_ERROR, "Tcg Acpi Table installation failure")); + } } /** @@ -1225,7 +1237,9 @@ OnExitBootServices ( Status = TcgMeasureAction ( EFI_EXIT_BOOT_SERVICES_INVOCATION ); - ASSERT_EFI_ERROR (Status); + if (EFI_ERROR (Status)) { + DEBUG ((EFI_D_ERROR, "%s not Measured. Error!\n", EFI_EXIT_BOOT_SERVICES_INVOCATION)); + } // // Measure success of ExitBootServices @@ -1233,7 +1247,9 @@ OnExitBootServices ( Status = TcgMeasureAction ( EFI_EXIT_BOOT_SERVICES_SUCCEEDED ); - ASSERT_EFI_ERROR (Status); + if (EFI_ERROR (Status)){ + DEBUG ((EFI_D_ERROR, "%s not Measured. Error!\n", EFI_EXIT_BOOT_SERVICES_SUCCEEDED)); + } } /** @@ -1260,8 +1276,9 @@ OnExitBootServicesFailed ( Status = TcgMeasureAction ( EFI_EXIT_BOOT_SERVICES_FAILED ); - ASSERT_EFI_ERROR (Status); - + if (EFI_ERROR (Status)){ + DEBUG ((EFI_D_ERROR, "%s not Measured. Error!\n", EFI_EXIT_BOOT_SERVICES_FAILED)); + } } /** diff --git a/SecurityPkg/Tcg/TrEEDxe/TrEEDxe.c b/SecurityPkg/Tcg/TrEEDxe/TrEEDxe.c index 09f8a36..8db0fa0 100644 --- a/SecurityPkg/Tcg/TrEEDxe/TrEEDxe.c +++ b/SecurityPkg/Tcg/TrEEDxe/TrEEDxe.c @@ -1109,9 +1109,7 @@ MeasureHandoffTables ( (VOID **) &SmbiosTable ); - if (!EFI_ERROR (Status)) { - ASSERT (SmbiosTable != NULL); - + if (!EFI_ERROR (Status) && SmbiosTable != NULL) { TcgEvent.PCRIndex = 1; TcgEvent.EventType = EV_EFI_HANDOFF_TABLES; TcgEvent.EventSize = sizeof (HandoffTables); @@ -1225,8 +1223,6 @@ MeasureVariable ( UINTN VarNameLength; EFI_VARIABLE_DATA_TREE *VarLog; - ASSERT ((VarSize == 0 && VarData == NULL) || (VarSize != 0 && VarData != NULL)); - DEBUG ((EFI_D_ERROR, "TrEEDxe: MeasureVariable (Pcr - %x, EventType - %x, ", (UINTN)PCRIndex, (UINTN)EventType)); DEBUG ((EFI_D_ERROR, "VariableName - %s, VendorGuid - %g)\n", VarName, VendorGuid)); @@ -1318,10 +1314,12 @@ ReadAndMeasureVariable ( *VarSize = 0; } } else { + // + // if status error, VarData is freed and set NULL by GetVariable2 + // if (EFI_ERROR (Status)) { - return Status; + return EFI_NOT_FOUND; } - ASSERT (*VarData != NULL); } Status = MeasureVariable ( @@ -1428,9 +1426,11 @@ MeasureAllBootVariables ( if (Status == EFI_NOT_FOUND) { return EFI_SUCCESS; } - ASSERT (BootOrder != NULL); if (EFI_ERROR (Status)) { + // + // BootOrder can't be NULL if status is not EFI_NOT_FOUND + // FreePool (BootOrder); return Status; } @@ -1721,7 +1721,10 @@ InstallAcpiTable ( &TableKey ); } - ASSERT_EFI_ERROR (Status); + + if (EFI_ERROR (Status)) { + DEBUG((EFI_D_ERROR, "Tcg Acpi Table installation failure")); + } } /** @@ -1748,7 +1751,9 @@ OnExitBootServices ( Status = TcgMeasureAction ( EFI_EXIT_BOOT_SERVICES_INVOCATION ); - ASSERT_EFI_ERROR (Status); + if (EFI_ERROR (Status)) { + DEBUG ((EFI_D_ERROR, "%s not Measured. Error!\n", EFI_EXIT_BOOT_SERVICES_INVOCATION)); + } // // Measure success of ExitBootServices @@ -1756,7 +1761,9 @@ OnExitBootServices ( Status = TcgMeasureAction ( EFI_EXIT_BOOT_SERVICES_SUCCEEDED ); - ASSERT_EFI_ERROR (Status); + if (EFI_ERROR (Status)) { + DEBUG ((EFI_D_ERROR, "%s not Measured. Error!\n", EFI_EXIT_BOOT_SERVICES_SUCCEEDED)); + } } /** @@ -1783,7 +1790,9 @@ OnExitBootServicesFailed ( Status = TcgMeasureAction ( EFI_EXIT_BOOT_SERVICES_FAILED ); - ASSERT_EFI_ERROR (Status); + if (EFI_ERROR (Status)) { + DEBUG ((EFI_D_ERROR, "%s not Measured. Error!\n", EFI_EXIT_BOOT_SERVICES_FAILED)); + } } -- cgit v1.1