From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 810DDAC0D13 for ; Mon, 6 Nov 2023 07:53:21 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=iIrVuOo35dgkKIoacskmh7EDp0LA1RG10H76S9SM8Ks=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20140610; t=1699257200; v=1; b=WY0/gSvXgJ3ZrcQYQ08q6GOhWbJS2OoWFp5xU3LEohqWA8N0rumUkJxIWcrvv/oDd4UkcwNT FoqkcLMC0aOumUK3Lsb+DH9/kZ8CyF47t4U6PFflllWNOk6D/X+AQ5H9VEGdPug+8AYyeflBlIf BEWsrk9DUTE2JA9HW8Cz0jPU= X-Received: by 127.0.0.2 with SMTP id 10AfYY7687511xuPSHmWSPdu; Sun, 05 Nov 2023 23:53:20 -0800 X-Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web11.49168.1699257184993246575 for ; Sun, 05 Nov 2023 23:53:19 -0800 X-IronPort-AV: E=McAfee;i="6600,9927,10885"; a="453535802" X-IronPort-AV: E=Sophos;i="6.03,280,1694761200"; d="scan'208";a="453535802" X-Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Nov 2023 23:53:19 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10885"; a="885824623" X-IronPort-AV: E=Sophos;i="6.03,280,1694761200"; d="scan'208";a="885824623" X-Received: from shpfwdbuild003.ccr.corp.intel.com ([10.239.56.82]) by orsmga004.jf.intel.com with ESMTP; 05 Nov 2023 23:53:17 -0800 From: "Xu, Wei6" To: devel@edk2.groups.io Cc: Wei6 Xu , Laszlo Ersek , Ard Biesheuvel , Sami Mujawar , Ray Ni Subject: [edk2-devel] [PATCH v4 4/4] StandaloneMmPkg/Core: Fix the failure to find uncompressed inner FV Date: Mon, 6 Nov 2023 15:52:59 +0800 Message-Id: In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,wei6.xu@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: 56EI7hfHaP5TyqecyndJpuNZx7686176AA= Content-Transfer-Encoding: 8bit X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b="WY0/gSvX"; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=intel.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io 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: Laszlo Ersek Cc: Ard Biesheuvel Cc: Sami Mujawar Cc: Ray Ni Signed-off-by: Wei6 Xu --- StandaloneMmPkg/Core/FwVol.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/StandaloneMmPkg/Core/FwVol.c b/StandaloneMmPkg/Core/FwVol.c index 4d2b63a448e7..07500cee41f3 100644 --- a/StandaloneMmPkg/Core/FwVol.c +++ b/StandaloneMmPkg/Core/FwVol.c @@ -79,6 +79,8 @@ MmCoreFfsFindMmDriver ( UINTN DepexSize; UINTN Index; EFI_COMMON_SECTION_HEADER *Section; + VOID *SectionData; + UINTN SectionDataSize; UINT32 DstBufferSize; VOID *ScratchBuffer; UINT32 ScratchBufferSize; @@ -115,6 +117,26 @@ MmCoreFfsFindMmDriver ( break; } + // + // Check uncompressed firmware volumes + // + Status = FfsFindSectionData ( + EFI_SECTION_FIRMWARE_VOLUME_IMAGE, + FileHeader, + &SectionData, + &SectionDataSize + ); + if (!EFI_ERROR (Status)) { + if (SectionDataSize > sizeof (EFI_FIRMWARE_VOLUME_HEADER)) { + InnerFvHeader = (EFI_FIRMWARE_VOLUME_HEADER *)SectionData; + MmCoreFfsFindMmDriver (InnerFvHeader, Depth + 1); + continue; + } + } + + // + // Check compressed firmware volumes + // Status = FfsFindSection ( EFI_SECTION_GUID_DEFINED, FileHeader, -- 2.29.2.windows.2 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#110740): https://edk2.groups.io/g/devel/message/110740 Mute This Topic: https://groups.io/mt/102416011/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-