Thanks for the review.

Can you please merge this soon if there are no concerns?

On 3/23/2022 2:14 AM, Chiu, Chasel wrote:

Reviewed-by: Chasel Chiu <[email protected]>


-----Original Message-----
From: [email protected] <[email protected]>
Sent: Wednesday, March 23, 2022 9:11 AM
To: [email protected]
Cc: Bret Barkelew <[email protected]>; Chiu, Chasel
<[email protected]>; Desimone, Nathaniel L
<[email protected]>; Gao, Liming
<[email protected]>; Dong, Eric <[email protected]>
Subject: [edk2-platforms][PATCH v1 1/1]
MinPlatformPkg/TestPointCheckLib: Fix mis-parsed HSTI structures

From: Michael Kubacki <[email protected]>

REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3612

Printing corruption can occur if the DumpHsti helper function encounters a
structure from the IHV (i.e. one that contains the 'Required' field).

Co-authored-by: Bret Barkelew <[email protected]>
Cc: Chasel Chiu <[email protected]>
Cc: Nate DeSimone <[email protected]>
Cc: Liming Gao <[email protected]>
Cc: Eric Dong <[email protected]>
Signed-off-by: Michael Kubacki <[email protected]>
---

Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCheckH
sti.c | 12 +++++++++++-
  1 file changed, 11 insertions(+), 1 deletion(-)

diff --git
a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeChec
kHsti.c
b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeChec
kHsti.c
index 7756369ae17b..f2f3fa83a57c 100644
---
a/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeChec
kHsti.c
+++
b/Platform/Intel/MinPlatformPkg/Test/Library/TestPointCheckLib/DxeCh
+++ eckHsti.c
@@ -40,6 +40,16 @@ DumpHsti (
    DEBUG ((DEBUG_INFO, "  SecurityFeaturesSize        - 0x%08x\n", Hsti-
SecurityFeaturesSize));

    SecurityFeatures = (UINT8 *) (Hsti + 1);
+
+  if (Hsti->Role == PLATFORM_SECURITY_ROLE_PLATFORM_REFERENCE) {
+    DEBUG ((DEBUG_INFO, "  SecurityFeaturesRequired    - "));
+    for (Index = 0; Index < Hsti->SecurityFeaturesSize; Index++) {
+      DEBUG ((DEBUG_INFO, "%02x ", SecurityFeatures[Index]));
+    }
+    DEBUG ((DEBUG_INFO, "\n"));
+    SecurityFeatures = (UINT8 *) (SecurityFeatures +
+ Hsti->SecurityFeaturesSize);  }
+
    DEBUG ((DEBUG_INFO, "  SecurityFeaturesImplemented - "));
    for (Index = 0; Index < Hsti->SecurityFeaturesSize; Index++) {
      DEBUG ((DEBUG_INFO, "%02x ", SecurityFeatures[Index])); @@ -81,7
+91,7 @@ TestPointCheckHsti (
    EFI_STATUS  Status;
    UINTN       Index;
    BOOLEAN     Result;
-
+
    Result = TRUE;
    DEBUG ((DEBUG_INFO, "==== TestPointCheckHsti - Enter\n"));
    for (Index = 0; Index < sizeof(mRole)/sizeof(mRole[0]); Index++) {
--
2.28.0.windows.1







-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#88334): https://edk2.groups.io/g/devel/message/88334
Mute This Topic: https://groups.io/mt/89966782/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to