From nobody Fri May 3 03:53:21 2024 Delivered-To: importer@patchew.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1502845420278241.69748178746295; Tue, 15 Aug 2017 18:03:40 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 8C53D21E2DA6D; Tue, 15 Aug 2017 18:01:12 -0700 (PDT) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (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 98A4621E2DA5A for ; Tue, 15 Aug 2017 18:01:11 -0700 (PDT) Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga104.jf.intel.com with ESMTP; 15 Aug 2017 18:03:36 -0700 Received: from ydong10-win10.ccr.corp.intel.com ([10.239.158.51]) by orsmga005.jf.intel.com with ESMTP; 15 Aug 2017 18:03:35 -0700 X-Original-To: edk2-devel@lists.01.org X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.41,380,1498546800"; d="scan'208";a="137961478" From: Eric Dong To: edk2-devel@lists.01.org Date: Wed, 16 Aug 2017 09:03:32 +0800 Message-Id: <1502845412-10856-1-git-send-email-eric.dong@intel.com> X-Mailer: git-send-email 2.7.0.windows.1 Subject: [edk2] [Patch] UefiCpuPkg RegisterCpuFeaturesLib: Fix buffer pointer error usage. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ruiyu Ni , Shao Ming , Kinney Michael D MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Current code allocate buffer for the pointer which later get value from PCD database. but current code error use "=3D" for this case. Use AllocateCopyPool instead to fix it. V2 enhanced to directly use AllocateCopyPool to get the PCD value. V3 enhanced to avoid using local temp variable. Cc: Ruiyu Ni Cc: Shao Ming Cc: Kinney Michael D Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Eric Dong --- .../RegisterCpuFeaturesLib/CpuFeaturesInitialize.c | 55 +++++-------------= ---- 1 file changed, 11 insertions(+), 44 deletions(-) diff --git a/UefiCpuPkg/Library/RegisterCpuFeaturesLib/CpuFeaturesInitializ= e.c b/UefiCpuPkg/Library/RegisterCpuFeaturesLib/CpuFeaturesInitialize.c index 474aea3..a7e1852 100644 --- a/UefiCpuPkg/Library/RegisterCpuFeaturesLib/CpuFeaturesInitialize.c +++ b/UefiCpuPkg/Library/RegisterCpuFeaturesLib/CpuFeaturesInitialize.c @@ -51,48 +51,6 @@ SetSettingPcd ( } =20 /** - Worker function to get PcdCpuFeaturesSupport. - - @return The pointer to CPU feature bits mask buffer. -**/ -UINT8 * -GetSupportPcds ( - VOID - ) -{ - UINTN BitMaskSize; - UINT8 *SupportBitMask; - - BitMaskSize =3D PcdGetSize (PcdCpuFeaturesSupport); - SupportBitMask =3D AllocateZeroPool (BitMaskSize); - ASSERT (SupportBitMask !=3D NULL); - SupportBitMask =3D (UINT8 *) PcdGetPtr (PcdCpuFeaturesSupport); - - return SupportBitMask; -} - -/** - Worker function to get PcdCpuFeaturesUserConfiguration. - - @return The pointer to CPU feature bits mask buffer. -**/ -UINT8 * -GetConfigurationPcds ( - VOID - ) -{ - UINTN BitMaskSize; - UINT8 *SupportBitMask; - - BitMaskSize =3D PcdGetSize (PcdCpuFeaturesUserConfiguration); - SupportBitMask =3D AllocateZeroPool (BitMaskSize); - ASSERT (SupportBitMask !=3D NULL); - SupportBitMask =3D (UINT8 *) PcdGetPtr (PcdCpuFeaturesUserConfiguration); - - return SupportBitMask; -} - -/** Collects CPU type and feature information. =20 @param[in, out] CpuInfo The pointer to CPU feature information @@ -180,8 +138,17 @@ CpuInitDataInitialize ( // // Get support and configuration PCDs // - CpuFeaturesData->SupportPcds =3D GetSupportPcds (); - CpuFeaturesData->ConfigurationPcds =3D GetConfigurationPcds (); + CpuFeaturesData->SupportPcds =3D AllocateCopyPool ( + PcdGetSize (PcdCpuFeaturesSupport), + PcdGetPtr (PcdCpuFeaturesSupport) + ); + ASSERT (CpuFeaturesData->SupportPcds !=3D NULL); + + CpuFeaturesData->ConfigurationPcds =3D AllocateCopyPool ( + PcdGetSize (PcdCpuFeaturesUserConfiguration), + PcdGetPtr (PcdCpuFeaturesUserConfiguration) + ); + ASSERT (CpuFeaturesData->ConfigurationPcds !=3D NULL); } =20 /** --=20 2.7.0.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel