[edk2-devel] [PATCH 1/1] StandaloneMmPkg: Fix the failure to find uncompressed inner FV.

Xu, Wei6 wei6.xu at intel.com
Tue Oct 24 05:53:54 UTC 2023


The MmCoreFfsFindMmDriver only checks for encapsulated compressed FVs.
When an inner FV is uncompressed, StandaloneMmCore will miss the FV and
all the MM drivers in the FV will not be dispatched.
Add checks for uncompressed inner FV to fix this issue.

Cc: Ard Biesheuvel <ardb+tianocore at kernel.org>
Cc: Sami Mujawar <sami.mujawar at arm.com>
Cc: Ray Ni <ray.ni at intel.com>
Signed-off-by: Wei6 Xu <wei6.xu at intel.com>
---
 StandaloneMmPkg/Core/FwVol.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/StandaloneMmPkg/Core/FwVol.c b/StandaloneMmPkg/Core/FwVol.c
index 1f6d7714ba97..1a85d80eb9f7 100644
--- a/StandaloneMmPkg/Core/FwVol.c
+++ b/StandaloneMmPkg/Core/FwVol.c
@@ -104,6 +104,17 @@ MmCoreFfsFindMmDriver (
       break;
     }
 
+    Status = FfsFindSectionData (
+               EFI_SECTION_FIRMWARE_VOLUME_IMAGE,
+               FileHeader,
+               &SectionData,
+               &SectionDataSize
+               );
+    if (!EFI_ERROR (Status)) {
+      InnerFvHeader = (EFI_FIRMWARE_VOLUME_HEADER *)SectionData;
+      MmCoreFfsFindMmDriver (InnerFvHeader);
+    }
+
     Status = FfsFindSectionData (
                EFI_SECTION_GUID_DEFINED,
                FileHeader,
-- 
2.29.2.windows.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#109986): https://edk2.groups.io/g/devel/message/109986
Mute This Topic: https://groups.io/mt/102152694/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list