From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.126; helo=mga18.intel.com; envelope-from=star.zeng@intel.com; receiver=edk2-devel@lists.01.org Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 4037F226CD613 for ; Mon, 23 Apr 2018 00:05:45 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Apr 2018 00:05:44 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,317,1520924400"; d="scan'208";a="34524003" Received: from shwdeopenpsi068.ccr.corp.intel.com ([10.239.158.46]) by fmsmga008.fm.intel.com with ESMTP; 23 Apr 2018 00:05:43 -0700 From: Star Zeng To: edk2-devel@lists.01.org Cc: Star Zeng , Jiewen Yao , Michael D Kinney , Sean Brogan Date: Mon, 23 Apr 2018 15:05:42 +0800 Message-Id: <1524467142-25868-1-git-send-email-star.zeng@intel.com> X-Mailer: git-send-email 2.7.0.windows.1 Subject: [PATCH] MdeModulePkg EsrtFmpDxe: Use EfiBootServicesData for ESRT table X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Apr 2018 07:05:45 -0000 REF: https://bugzilla.tianocore.org/show_bug.cgi?id=933 We see UEFI spec is saying to use EfiBootServicesData for ESRT table. UEFI 2.7 chapter 23.3: The ESRT shall be stored in memory of type EfiBootServicesData. And we see EsrtDxe is using AllocatePool for ESRT table, but EsrtFmpDxe is using AllocateRuntimeZeroPool for ESRT table. This patch updates code to use EfiBootServicesData for ESRT table in EsrtFmpDxe. Cc: Jiewen Yao Cc: Michael D Kinney Cc: Sean Brogan Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng --- MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmp.c b/MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmp.c index 3da4a62fb1c4..cc9dd63b53cd 100644 --- a/MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmp.c +++ b/MdeModulePkg/Universal/EsrtFmpDxe/EsrtFmp.c @@ -190,7 +190,7 @@ CreateEsrtEntry ( } NewSize = ((mTable->FwResourceCountMax + GROWTH_STEP) * sizeof (EFI_SYSTEM_RESOURCE_ENTRY)) + sizeof (EFI_SYSTEM_RESOURCE_TABLE); - NewTable = AllocateRuntimeZeroPool (NewSize); + NewTable = AllocateZeroPool (NewSize); if (NewTable == NULL) { DEBUG ((DEBUG_ERROR, "EsrtFmpDxe: Failed to allocate memory larger table for ESRT. \n")); return EFI_OUT_OF_RESOURCES; @@ -439,7 +439,7 @@ EsrtFmpEntryPoint ( // // Allocate Memory for table // - mTable = AllocateRuntimeZeroPool ( + mTable = AllocateZeroPool ( (GROWTH_STEP * sizeof (EFI_SYSTEM_RESOURCE_ENTRY)) + sizeof (EFI_SYSTEM_RESOURCE_TABLE) ); ASSERT (mTable != NULL); -- 2.7.0.windows.1