From nobody Wed May 8 05:27:46 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+82245+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+82245+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one); dmarc=fail(p=none dis=none) header.from=intel.com Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1634587672080212.45979830370436; Mon, 18 Oct 2021 13:07:52 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 90wDYY1788612xcxBD3rJ49E; Mon, 18 Oct 2021 13:07:51 -0700 X-Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web08.32342.1634531227963859539 for ; Sun, 17 Oct 2021 21:27:08 -0700 X-IronPort-AV: E=McAfee;i="6200,9189,10140"; a="314362892" X-IronPort-AV: E=Sophos;i="5.85,381,1624345200"; d="scan'208,217";a="314362892" X-Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Oct 2021 21:27:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,381,1624345200"; d="scan'208,217";a="565851119" X-Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by FMSMGA003.fm.intel.com with ESMTP; 17 Oct 2021 21:27:06 -0700 X-Received: from fmsmsx605.amr.corp.intel.com (10.18.126.85) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Sun, 17 Oct 2021 21:27:06 -0700 X-Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Sun, 17 Oct 2021 21:27:05 -0700 X-Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.173) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Sun, 17 Oct 2021 21:26:49 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VVjbTGTJhpnLaoT+8kz00dpxtMaY3zrdmO2wDp6Wvfh0BiiB1XPldKBeMsWl4CWg60d4+rkbfqJhm+LGWvKf1moWgyqPxhWmmoksCA/G56qnTaaNBLqwC9OOZREvQmNHGXEoMgo8qeVOG+ghb9U+NmGcgyObgb3w9SGNK9AeNMQEif5FNWy1qlJtQ1UUquWglkfpzllVRPZXatvsgNv2zKnKzFYwIvoEXhD6nlrdUZq2ufoD7Oe/2hho30i4+Dr7gruVIFfNzMeymPIn9VMPn/WjmdLqh9Hg8j7Fh3Dp1gD/52inYUcKRrc+/yvSXxXiOs4988bXD6iV3WKOVT01Gg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ldNpHJS7JZNUqS7FcJ6/EtBriEZnA35H980jqicPXkI=; b=JojoHB7qmubtcg6oqTaCkxgaHrj5l6lSV5EvGjfbzHQN104oUwMLse5vJxE4stkuuFmD+dY9tZmLflIW8NStA5tMUDZDatiLqndOyEqPqOK4XXWgMxKePJnsbEVyWCBBWFcNWu2pcVhA1AN8JsUhc7KuYF/fsinsb+/ntZK1ZLZjJryclAg/W3huJQlIHBgTVYuXWVGw0jPmxfLzmS93DyFstPP9TqcuhmlImunXRuxUdAHANU9wscHnnGvj3wV2/Drlcp5NIqTBcqNxBQv9IGAvSYRwICCstrwRk/S8qI1Q6dqPIVaROSbG47pNnuHdglFcDbrCvpIGW06hSXvKyw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none X-Received: from SN6PR11MB2590.namprd11.prod.outlook.com (2603:10b6:805:54::29) by SN6PR11MB3373.namprd11.prod.outlook.com (2603:10b6:805:c6::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4608.18; Mon, 18 Oct 2021 04:26:47 +0000 X-Received: from SN6PR11MB2590.namprd11.prod.outlook.com ([fe80::acda:f35:113:efbe]) by SN6PR11MB2590.namprd11.prod.outlook.com ([fe80::acda:f35:113:efbe%5]) with mapi id 15.20.4608.018; Mon, 18 Oct 2021 04:26:47 +0000 From: "Yang, Jie" To: "devel@edk2.groups.io" CC: "Yang, Jie" Subject: [edk2-devel][PATCH] FmpDevicePkg/FmpDxe: Use new Variable Lock interface Thread-Topic: [edk2-devel][PATCH] FmpDevicePkg/FmpDxe: Use new Variable Lock interface Thread-Index: AdfD2Dx+NNGc8HY6SuOtHJ+z2JNHzQ== Date: Mon, 18 Oct 2021 04:26:47 +0000 Message-ID: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.200.16 dlp-reaction: no-action x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e7d097aa-311a-43e8-4486-08d991ef7f78 x-ms-traffictypediagnostic: SN6PR11MB3373: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1107; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam-message-info: 00qgwZT6kHe8Si5/vlf6PD/WqMXThVzDlJ3DqwhTt9EGB5C8CI4UDZFKeC6xrtcESqNxcV3HN7XKejAiDgw2XHGxCBhLwz5wZmcZMUZ+E8TeXr+xx+VvdGCqFQEtOkUEq7yzwHaKSgFaqXjakhmTk/nyFiK1l17ANS27w7WiAw3TdD7ULK/m7ySgyksc+NeQZwe3qs6mRG/GMrjV4lqLbWWRpbDDYUhfmhiVDW2MtR1WQt2yfupw06q9t9MAejds3eO8vO4bxuRdcwghNEUK+GTx2SzxnDbzoi8DksD46cFy7OktL5PxxZQj5tP7/Cw1D7VzHKRTIJQsIOxxismHgtXU3bRXKlt+2pa4sw+CSRPPuci9yXT4BOLhaPGd1CqlrP4RJZ99NC4K+hgClCz1zNNVzYe4HRodfN4TfEQrfKzZgE8kAJ81RgSJbaGuCv0Xp0qZS0gpiD2+1hXVFlZwQmmE0dC052UHzuOdvrA6RwXYKaRIs5IA437pfYyVOxwf1Q1R6EzkqSaIscDxT3mr7xOgPAfg0qPLsqmdilrSj5pOK/eC+2a+dsil7PCFVUHjTOjoVjtPWaIk22inrp8HihUklDVUbiY7LgJ2mXq33XHuT6RX0LDH6xLhqkJkTBDNfQESKMA4KylwrQWltad+RrED4POag7pnTai/sbB/qkeQrHyZzhFqMjMLB89Fyb+rFbvfxwPBJTJTPXsl9PsGYFSRDPvLTbmEjw4Y5yK2mU1vtW3f/Q3Rm85ouCiSJ785Bhwz1z4R9dOfe1vJnpQxBpzhwYEx32rhANCNizmQydbrFITP4rlAm8LWn60rE3wH x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?GHd2ayWNXbjLQj93gebC2m3Nl0lgHLtRWhtbTNdWCV11NRLmF8mVoz4LStl6?= =?us-ascii?Q?QwKFrjYICIMu9w+uGls6gwR8/EsRt3Lo+c7b++Us/1i5rnCRWuOGLTobzKHI?= =?us-ascii?Q?q6Rk/bEQsg5Gf4z0fbIQuiTwEJqAqG0Yt8YMVO5sf9sGrOHE+UQRaLHBgZpA?= =?us-ascii?Q?A5pdyNOuHLKaXXhrM+8/1ywEoP5STa0gcdDCE0Iu4MqZZ/UvZfQxt4OM6Pip?= =?us-ascii?Q?/aEZ8pQq1u6byfsoM6G6C/zMuKr5SXxbMJCFC3g7iPqztumDHEcfmyFh3BN7?= =?us-ascii?Q?tfme1Pke8OwmpPJ3S/9Xuswx+LjSXN1h+EtD3vpSrdP312U8mRnajfXGoZB+?= =?us-ascii?Q?vz7zsXppJ3j4XOJlIySOFJT3eVVR6ZeZP1trf/kCJxaOs3jxNwBuwQhK1mk6?= =?us-ascii?Q?P3G+w6XVJeCK4ciyToHoy5tLoPB08JbuRi5h3GaayqhsgU9yWi/8urWGzp08?= =?us-ascii?Q?m0Kszx2HWtD4LnMeWcSFqNFFVuDDPRmv0MmYcNxDp9FL1SPzhWOy6L0j8CHG?= =?us-ascii?Q?DVLfqLD3m8kk9b3EKd6Ev2wF+4gPfExO5oOzT76VVRlLd8+ZOLMurIKcoNdL?= =?us-ascii?Q?NBM3giT7NAOC9udh12ZnOT5nRd3n7ZmupL/3MgSns82uQmQYL/z6hLcl8jPl?= =?us-ascii?Q?O9pxpcdl9YanPV9aBB3K1zHw35roaT/ZcBFmYnU/ZVFfNz7BLu1ycYerlGSc?= =?us-ascii?Q?18CO7CeYB+ExzeXyn0Yos0oLp7hqWWpOYZ/iB3LFW9kjhkUh/hi3cy5cOIn5?= =?us-ascii?Q?yy5JKYGUzoBU0l/1Sqlv19A32fTq6RWePmxG540yLXday3Q9Gvdba4NOjwiH?= =?us-ascii?Q?aVRxrmASb/gtYG6+gGKEtEgrJAiojwObGHlyPRyn1wMiIKQih2LPIIf4kp2g?= =?us-ascii?Q?CkpnV0PcY2jz24oiO0yMovqpZ3U97qnuVq1kg4b2RjUQTclcBOkxo4RJdXBb?= =?us-ascii?Q?IlD2guvTCFl7bK/KfMTCqCo/W7exWpFO8JjUlp1+yOr4C6mT1jIgq6uhavqg?= =?us-ascii?Q?SAtX8vtLTOoA2p1kZAu58fAYYhRUS6Pi0ZDKuALvNDroB3SGMVDMG3Nk8yNH?= =?us-ascii?Q?H3xdc3z1rNIk5ImYBUNMlxVSHa6q44NOl/1CS6uD0bnhoxPf9Gj0xeWmjgZW?= =?us-ascii?Q?QjyEhwnyJi8+bo/OcRVWvvVjqrceBo4ej1S15sxKoDPKj38QrXEPGi90m6V6?= =?us-ascii?Q?zVkqK8Kpi9gBu0IYAegjLRIZNa2nzhXlYjGfieWT7OUUZJwG9nMhKMFjmfFz?= =?us-ascii?Q?hHCI8hCOAPkDxtjA8K/zkFUKt/MIH/Kjaq5yBSMWL+wtSyRzbL7prdQP0S/A?= =?us-ascii?Q?t5c=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB2590.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e7d097aa-311a-43e8-4486-08d991ef7f78 X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Oct 2021 04:26:47.0326 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: aCc6QyCfyvYKzQFCrvTw73BEg8UA+OUnjd6OakjiejU8qQcvoky70jRg4Qg0/0ahVRdBbMr8WLPvIphAq8xcTg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB3373 X-OriginatorOrg: intel.com Precedence: Bulk List-Unsubscribe: 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,jie.yang@intel.com X-Gm-Message-State: jBKvbFG5M8AEawjDnnAyZaDnx1787277AA= Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_SN6PR11MB25905F9B5A4C7C4904CC078996BC9SN6PR11MB2590namp_" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1634587671; bh=3djes4o04hKHTbFVfZMQ8g1dhlTxmwE/vHUCchmRuNc=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=gwCZWOYOMrG/cU7YChVlT3SrSUaEryR5A4akoQC8mLDGSY0sI91fdrFit9aP9S6OoCI y2hTclEBr6EItBW6utQViyzC6JWTZm26rF4qcapbhUh/ZcVz3OgYHb9lMCm2NeH0an85j 9yW2w55PwbTayTZbcWtVo5rkgbCcf1sMkMM= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1634587673162100002 --_000_SN6PR11MB25905F9B5A4C7C4904CC078996BC9SN6PR11MB2590namp_ Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: yangjie > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3655 The code in FmpDevicePkg called the deprecated interface VariableLockReques= tToLock. So I changed the code in FmpDevicePkg using RegisterBasicVariableP= olicy, instead of the deprecated interface. Signed-off-by: Yang Jie > --- FmpDevicePkg/FmpDevicePkg.dsc | 1 + FmpDevicePkg/FmpDxe/FmpDxe.h | 4 +- FmpDevicePkg/FmpDxe/FmpDxe.inf | 5 ++- FmpDevicePkg/FmpDxe/VariableSupport.c | 65 +++++++++++++-------------- 4 files changed, 37 insertions(+), 38 deletions(-) diff --git a/FmpDevicePkg/FmpDevicePkg.dsc b/FmpDevicePkg/FmpDevicePkg.dsc = index b420f52a08..7b1af285dd 100644 --- a/FmpDevicePkg/FmpDevicePkg.dsc +++ b/FmpDevicePkg/FmpDevicePkg.dsc @@ -53,6 +53,7 @@ DebugLib|MdePkg/Library/UefiDebugLibStdErr/UefiDebugLibStdErr.inf Debu= gPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPri= ntErrorLevelLib.inf PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.i= nf+ VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/V= ariablePolicyHelperLib.inf !ifdef CONTINUOUS_INTEGRATION BaseCryptLib|Cry= ptoPkg/Library/BaseCryptLibNull/BaseCryptLibNull.inf !elsediff --git a/FmpD= evicePkg/FmpDxe/FmpDxe.h b/FmpDevicePkg/FmpDxe/FmpDxe.h index 1177b1828e..4d94a925b6 100644 --- a/FmpDevicePkg/FmpDxe/FmpDxe.h +++ b/FmpDevicePkg/FmpDxe/FmpDxe.h @@ -4,7 +4,7 @@ information provided through PCDs and libraries. Copyright (c) Micros= oft Corporation.
- Copyright (c) 2018 - 2019, Intel Corporation. All ri= ghts reserved.
+ Copyright (c) 2018 - 2021, Intel Corporation. All righ= ts reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent @@ -33,11 = +33,11 @@ #include #include #include -#include #include #include #include #include = +#include #define VERSION_STRING_NOT_S= UPPORTED L"VERSION STRING NOT SUPPORTED" #define VERSION_STRING_NOT_AVAILA= BLE L"VERSION STRING NOT AVAILABLE"diff --git a/FmpDevicePkg/FmpDxe/FmpDxe= .inf b/FmpDevicePkg/FmpDxe/FmpDxe.inf index eeb904a091..1c296388b0 100644 --- a/FmpDevicePkg/FmpDxe/FmpDxe.inf +++ b/FmpDevicePkg/FmpDxe/FmpDxe.inf @@ -4,7 +4,7 @@ # information provided through PCDs and libraries. # # Copyright (c) 2016= , Microsoft Corporation. All rights reserved.
-# Copyright (c) 2018 - 2= 020, Intel Corporation. All rights reserved.
+# Copyright (c) 2018 - 20= 21, Intel Corporation. All rights reserved.
# # SPDX-License-Identifie= r: BSD-2-Clause-Patent ##@@ -55,14 +55,15 @@ FmpDependencyLib FmpDependencyCheckLib FmpDependencyDeviceLib+ Vari= ablePolicyHelperLib [Guids] gEfiEndOfDxeEventGroupGuid [Protocols]- gE= dkiiVariableLockProtocolGuid ## CONSUMES gEfiFirmwareManag= ementProtocolGuid ## PRODUCES gEdkiiFirmwareManagementProgress= ProtocolGuid ## PRODUCES+ gEdkiiVariablePolicyProtocolGuid #= # CONSUMES [Pcd] gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceStorageAccessEn= able ## CONSUMESdiff --git a/FmpDevicePkg/FmpDxe/VariableSuppo= rt.c b/FmpDevicePkg/FmpDxe/VariableSupport.c index 86dd5b203b..a1bd949b09 100644 --- a/FmpDevicePkg/FmpDxe/VariableSupport.c +++ b/FmpDevicePkg/FmpDxe/VariableSupport.c @@ -3,7 +3,7 @@ firmware updates. Copyright (c) 2016, Microsoft Corporation. All righ= ts reserved.
- Copyright (c) 2018 - 2019, Intel Corporation. All rights= reserved.
+ Copyright (c) 2018 - 2021, Intel Corporation. All rights r= eserved.
SPDX-License-Identifier: BSD-2-Clause-Patent @@ -730,28 +73= 0,29 @@ static EFI_STATUS LockFmpVariable ( IN EFI_STATUS PreviousSta= tus,- IN EDKII_VARIABLE_LOCK_PROTOCOL *VariableLock,+ EDKII_VARIABLE_POL= ICY_PROTOCOL *VariablePolicy, IN CHAR16 *Variabl= eName ) { EFI_STATUS Status; - Status =3D VariableLock->RequestToLock= (- VariableLock,- Vari= ableName,- &gEfiCallerIdGuid- = );- if (!EFI_ERROR (Status)) {- return PreviousStatus;+ // If s= uccess, go ahead and set the policies to protect the target variables.+ St= atus =3D RegisterBasicVariablePolicy (VariablePolicy,+ = &gEfiCallerIdGuid,+ = VariableName,+ VARIABLE_POLICY_NO= _MIN_SIZE,+ VARIABLE_POLICY_NO_MAX_S= IZE,+ VARIABLE_POLICY_NO_MUST_ATTR,+= VARIABLE_POLICY_NO_CANT_ATTR,+ = VARIABLE_POLICY_TYPE_LOCK_NOW);+ if (EF= I_ERROR (Status)) {+ DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to lock va= riable %g %s. Status =3D %r\n",+ mImageIdName,+ &gEf= iCallerIdGuid,+ VariableName,+ Status+ )); = }-- DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to lock variable %g %s. St= atus =3D %r\n",- mImageIdName,- &gEfiCallerIdGuid,- VariableName,-= Status- ));- if (EFI_ERROR (PreviousStatus)) { return Previous= Status; }@@ -773,26 +774,22 @@ LockAllFmpVariables ( FIRMWARE_MANAGEMENT_PRIVATE_DATA *Private ) {- EFI_STATUS = Status;- EDKII_VARIABLE_LOCK_PROTOCOL *VariableLock;-- Variable= Lock =3D NULL;- Status =3D gBS->LocateProtocol (- &gEdkii= VariableLockProtocolGuid,- NULL,- (VOID *= *)&VariableLock- );- if (EFI_ERROR (Status) || VariableLo= ck =3D=3D NULL) {- DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to locate Va= riable Lock Protocol (%r).\n", mImageIdName, Status));- return EFI_UNSUP= PORTED;+ EFI_STATUS Status;+ EDKII_VARIABLE_POLICY= _PROTOCOL *VariablePolicy;++ // Locate the VariablePolicy protocol.+ S= tatus =3D gBS->LocateProtocol (&gEdkiiVariablePolicyProtocolGuid, NULL, (VO= ID**)&VariablePolicy );+ if (EFI_ERROR (Status)) {+ DEBUG ((DEBUG_ERROR= , "FmpDxe %a - Could not locate VariablePolicy protocol! %r\n", __FUNCTION_= _, Status));+ return Status; } Status =3D EFI_SUCCESS;- Status =3D= LockFmpVariable (Status, VariableLock, Private->VersionVariableName);- St= atus =3D LockFmpVariable (Status, VariableLock, Private->LsvVariableName);-= Status =3D LockFmpVariable (Status, VariableLock, Private->LastAttemptSta= tusVariableName);- Status =3D LockFmpVariable (Status, VariableLock, Priva= te->LastAttemptVersionVariableName);- Status =3D LockFmpVariable (Status, = VariableLock, Private->FmpStateVariableName);+ Status =3D LockFmpVariable = (Status, VariablePolicy, Private->VersionVariableName);+ Status =3D LockFm= pVariable (Status, VariablePolicy, Private->LsvVariableName);+ Status =3D = LockFmpVariable (Status, VariablePolicy, Private->LastAttemptStatusVariable= Name);+ Status =3D LockFmpVariable (Status, VariablePolicy, Private->LastA= ttemptVersionVariableName);+ Status =3D LockFmpVariable (Status, VariableP= olicy, Private->FmpStateVariableName); return Status; }-- 2.26.2.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#82245): https://edk2.groups.io/g/devel/message/82245 Mute This Topic: https://groups.io/mt/86407503/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- --_000_SN6PR11MB25905F9B5A4C7C4904CC078996BC9SN6PR11MB2590namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

From: yangjie <jie.yang@intel.com>

 

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

 

The code in FmpDevicePkg called the deprecated in= terface VariableLockRequestToLock. So I changed the code in FmpDevicePkg us= ing RegisterBasicVariablePolicy, instead of the deprecated interface.<= /o:p>

 

Signed-off-by: Yang Jie <jie.yang@intel.com>

---

FmpDevicePkg/FmpDevicePkg.dsc   &n= bsp;     |  1 +

FmpDevicePkg/FmpDxe/FmpDxe.h   &nb= sp;      |  4 +-

FmpDevicePkg/FmpDxe/FmpDxe.inf   &= nbsp;    |  5 ++-

FmpDevicePkg/FmpDxe/VariableSupport.c | 65 ++++++= +++++++--------------

4 files changed, 37 insertions(+), 38 deletions(-= )

 

diff --git a/FmpDevicePkg/FmpDevicePkg.dsc b/FmpD= evicePkg/FmpDevicePkg.dsc index b420f52a08..7b1af285dd 100644

--- a/FmpDevicePkg/FmpDevicePkg.dsc

+++ b/FmpDevicePkg/FmpDevicePkg.dsc

@@ -53,6 +53,7 @@

   DebugLib|MdePkg/Library/UefiDebugLib= StdErr/UefiDebugLibStdErr.inf   DebugPrintErrorLevelLib|MdePkg/Li= brary/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf &nbs= p; PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf+  VariableP= olicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyH= elperLib.inf !ifdef CONTINUOUS_INTEGRATION   BaseCryptLib|CryptoPkg/Library/B= aseCryptLibNull/BaseCryptLibNull.inf !elsediff --git a/FmpDevicePkg/FmpDxe/= FmpDxe.h b/FmpDevicePkg/FmpDxe/FmpDxe.h

index 1177b1828e..4d94a925b6 100644

--- a/FmpDevicePkg/FmpDxe/FmpDxe.h

+++ b/FmpDevicePkg/FmpDxe/FmpDxe.h

@@ -4,7 +4,7 @@

   information provided through PCDs an= d libraries.    Copyright (c) Microsoft Corporation.<BR&g= t;-  Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved= .<BR>+  Copyright (c) 2018 - 2021, Intel Corporation. All rights= reserved.<BR>    SPDX-License-Identifier: BSD-2-Clause-Patent @@ -33,11 +33,11 @@

#include <Library/FmpDependencyDeviceLib.h>= #include <Protocol/FirmwareManagement.h> #include <Protocol/Firmw= areManagementProgress.h>-#include <Protocol/VariableLock.h> #inclu= de <Guid/SystemResourceTable.h> #include <Guid/EventGroup.h> #include <LastAttemptStatus.h> #include <FmpLastAttemptStatus.h&g= t;+#include <Library/VariablePolicyHelperLib.h>  #define VERSION= _STRING_NOT_SUPPORTED  L"VERSION STRING NOT SUPPORTED" #defi= ne VERSION_STRING_NOT_AVAILABLE  L"VERSION STRING NOT AVAILABLE&q= uot;diff --git a/FmpDevicePkg/FmpDxe/FmpDxe.inf b/FmpDevicePkg/FmpDxe/FmpDxe.inf index ee= b904a091..1c296388b0 100644

--- a/FmpDevicePkg/FmpDxe/FmpDxe.inf

+++ b/FmpDevicePkg/FmpDxe/FmpDxe.inf

@@ -4,7 +4,7 @@

#  information provided through PCDs and lib= raries. # #  Copyright (c) 2016, Microsoft Corporation. All rights res= erved.<BR>-#  Copyright (c) 2018 - 2020, Intel Corporation. All = rights reserved.<BR>+#  Copyright (c) 2018 - 2021, Intel Corporation. All rights reserved.<BR> # #  SPDX-License-Identif= ier: BSD-2-Clause-Patent ##@@ -55,14 +55,15 @@

   FmpDependencyLib   FmpDepe= ndencyCheckLib   FmpDependencyDeviceLib+  VariablePolicyHelp= erLib  [Guids]   gEfiEndOfDxeEventGroupGuid  [Protocols= ]-  gEdkiiVariableLockProtocolGuid      =           ## CONSUMES &nb= sp; gEfiFirmwareManagementProtocolGuid      &= nbsp;     ## PRODUCES   gEdkiiFirmwareManagementProgressProtocolGuid = ## PRODUCES+  gEdkiiVariablePolicyProtocolGuid    = ;          ## CONSUMES  [= Pcd]   gFmpDevicePkgTokenSpaceGuid.PcdFmpDeviceStorageAccessEnabl= e            &n= bsp; ## CONSUMESdiff --git a/FmpDevicePkg/FmpDxe/VariableSupport.c b/FmpDevicePkg/FmpDxe/VariableSupport.c

index 86dd5b203b..a1bd949b09 100644

--- a/FmpDevicePkg/FmpDxe/VariableSupport.c<= /o:p>

+++ b/FmpDevicePkg/FmpDxe/VariableSupport.c<= /o:p>

@@ -3,7 +3,7 @@

   firmware updates.    = Copyright (c) 2016, Microsoft Corporation. All rights reserved.<BR>-&= nbsp; Copyright (c) 2018 - 2019, Intel Corporation. All rights reserved.<= ;BR>+  Copyright (c) 2018 - 2021, Intel Corporation. All rights res= erved.<BR>    SPDX-License-Identifier: BSD-2-Clause-Patent @@ -730,28 +730,29 @@ static<= o:p>

EFI_STATUS LockFmpVariable (   IN EFI_S= TATUS           &nbs= p;        PreviousStatus,-  IN EDKI= I_VARIABLE_LOCK_PROTOCOL  *VariableLock,+  EDKII_VARIABLE_POLICY_= PROTOCOL   *VariablePolicy,   IN CHAR16  &nbs= p;            &= nbsp;        *VariableName   ) {   EFI_STATUS  Status; -  Status =3D VariableLock-&= gt;RequestToLock (-         &n= bsp;            = ;     VariableLock,-      &nbs= p;            &= nbsp;       VariableName,-  &n= bsp;            = ;            &gE= fiCallerIdGuid-          =             &nb= sp;    );-  if (!EFI_ERROR (Status)) {-  &nbs= p; return PreviousStatus;+  // If success, go ahead and set the policies= to protect the target variables.+  Status =3D RegisterBasicVariablePo= licy (VariablePolicy,+         = ;            &n= bsp;            = ;      &gEfiCallerIdGuid,+   &n= bsp;            = ;            &n= bsp;           VariableName,+          =             &nb= sp;            =      VARIABLE_POLICY_NO_MIN_SIZE,+   &nb= sp;            =              &n= bsp;          VARIABLE_PO= LICY_NO_MAX_SIZE,+         &nb= sp;            =             &nb= sp;     VARIABLE_POLICY_NO_MUST_ATTR,+   = ;            &n= bsp;            = ;            VARIABLE_POLICY_NO_CANT_ATTR,+       &n= bsp;            = ;            &n= bsp;       VARIABLE_POLICY_TYPE_LOCK_NOW);+&n= bsp; if (EFI_ERROR (Status)) {+    DEBUG ((DEBUG_ERROR, &quo= t;FmpDxe(%s): Failed to lock variable %g %s.  Status =3D %r\n",+&= nbsp;           mImageIdN= ame,+            &am= p;gEfiCallerIdGuid,+         &= nbsp;  VariableName,+          =   Status+           = ));   }--  DEBUG ((DEBUG_ERROR, "FmpDxe(%s): Failed to = lock variable %g %s.  Status =3D %r\n",-    mImage= IdName,-    &gEfiCallerIdGuid,-    Variab= leName,-    Status-    ));-   if (E= FI_ERROR (PreviousStatus)) {     return PreviousStatus;   }@@ -773,26 +774,22 @@ LockAllFmpVariab= les (

   FIRMWARE_MANAGEMENT_PRIVATE_DATA&nbs= p; *Private   ) {-  EFI_STATUS     =             &nb= sp;  Status;-  EDKII_VARIABLE_LOCK_PROTOCOL  *VariableLock;-= -  VariableLock =3D NULL;-  Status =3D gBS->LocateProtocol (-&= nbsp;           &nbs= p;     &gEdkiiVariableLockProtocolGuid,-  = ;                NULL,-        &n= bsp;         (VOID **)&Variable= Lock-           &nbs= p;      );-  if (EFI_ERROR (Status) || Variab= leLock =3D=3D NULL) {-    DEBUG ((DEBUG_ERROR, "FmpDxe(= %s): Failed to locate Variable Lock Protocol (%r).\n", mImageIdName, S= tatus));-    return EFI_UNSUPPORTED;+  EFI_STATUS          &nbs= p;             = Status;+  EDKII_VARIABLE_POLICY_PROTOCOL    *VariablePo= licy;++  // Locate the VariablePolicy protocol.+  Status =3D gBS-= >LocateProtocol (&gEdkiiVariablePolicyProtocolGuid, NULL, (VOID**)&a= mp;VariablePolicy );+  if (EFI_ERROR (Status)) {+    DEBUG ((DEBUG_ERROR, "FmpDxe %a - Could not loca= te VariablePolicy protocol! %r\n", __FUNCTION__, Status));+  = ;  return Status;   }    Status =3D EFI_SUCCE= SS;-  Status =3D LockFmpVariable (Status, VariableLock, Private->Ve= rsionVariableName);-  Status =3D LockFmpVariable (Status, VariableLock, Private->LsvVariableName);-  Status =3D Loc= kFmpVariable (Status, VariableLock, Private->LastAttemptStatusVariableNa= me);-  Status =3D LockFmpVariable (Status, VariableLock, Private->L= astAttemptVersionVariableName);-  Status =3D LockFmpVariable (Status, VariableLock, Private->FmpStateVariableName);+  Status = =3D LockFmpVariable (Status, VariablePolicy, Private->VersionVariableNam= e);+  Status =3D LockFmpVariable (Status, VariablePolicy, Private->= LsvVariableName);+  Status =3D LockFmpVariable (Status, VariablePolicy= , Private->LastAttemptStatusVariableName);+  Status =3D LockFmpVaria= ble (Status, VariablePolicy, Private->LastAttemptVersionVariableName);+&= nbsp; Status =3D LockFmpVariable (Status, VariablePolicy, Private->FmpSt= ateVariableName);    return Status; }--

2.26.2.windows.1

 

_._,_._,_

G= roups.io Links:

You receive all messages sent to this group.

Vi= ew/Reply Online (#82245) | | Mute This Topic | New Topic
Your Subscription | Contact Group Owner | Unsubscribe [importer@patchew.org]
_._,_._,_=20 --_000_SN6PR11MB25905F9B5A4C7C4904CC078996BC9SN6PR11MB2590namp_--