From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (NAM11-CO1-obe.outbound.protection.outlook.com [40.107.220.132]) by mx.groups.io with SMTP id smtpd.web12.1030.1600292889770698947 for ; Wed, 16 Sep 2020 14:48:10 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@microsoft.com header.s=selector2 header.b=Wjbvr9Zm; spf=pass (domain: microsoft.com, ip: 40.107.220.132, mailfrom: bret.barkelew@microsoft.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GcR10LiMSwB2jWi8ZQ2Qcqp1KMj42hjMYy3efdohBedr6rF4CqbeWLJG/8U5kkca1XVq7UdoehQJxd+SNvliE3WHIaJOmf0Y1L9t8x3MWyR4nYLXcVbCiTYXc9EUBEU/oMqcvcb6V14cJDvW4pAbOpUcN67ecK9PgD+t91rBK8U/2LFvdDr1Ou7ko67c4GzZRMHEGO5c762wqAlPZ24McLHTbI8/qZ5LFTqj3bvJgw1RXSSYqyM/ICbX7zRwJL/Wz82gCq31ac4iP3Aq0XQbsamZRdr5rya/9NV4ANX6s+Lrjwv86AAX0mVqM/NznZj6xWcQ5j1oyTBQnc0hQNKPtw== 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-SenderADCheck; bh=SK8DKKi50jSCKf0d7Weedz11yL5VDWeRYpQhE7YNiNE=; b=BhjDUaez0YOANEwpHP3w7gZoo0ryTXnSAO0IfI8W5M4TRcj35rqubr2/DB/WhW36qMbq+X2Ct6pHkctTwMksweFCsJafmjtDPFiZWd4ZuH7s4BJYlQaLBOLUulprZvWvZMvsOQxWJcp5z2yS3zolo7oIesmNY4PAdVUVrQ4YAdouP/npeSAgB6rLhOvw+phl8k2sYsMujJQfnJo9ha9UR9azWgo5poVPdFfst26Z2pC9BIqg4vjJzQheP5xeaELHS2oeChj7fOkdQAgzxxse/9ejLbGaGFc/Q8v99FXe6xWbkJLpEVNTWjdtH9jHJzG+05SmHqvbc/YFQ+ngGHh+vA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SK8DKKi50jSCKf0d7Weedz11yL5VDWeRYpQhE7YNiNE=; b=Wjbvr9ZmHlNlcP271FUpErMGhWBJmKq97S6Kgw0lQ1niPh3RVZqv/4R+2AldKNAHu41hjFBxrAYWZyVvAPJYlgKkZRAfHCe49ZsN+647rlw8O12CUa4lcKWT9iczUOjllpQRig2YMDQZaELqibiaxVYywuvAYelx9/zXn3nA9DI= Received: from CY4PR21MB0743.namprd21.prod.outlook.com (2603:10b6:903:b2::9) by CY4PR21MB0630.namprd21.prod.outlook.com (2603:10b6:903:12e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.0; Wed, 16 Sep 2020 21:48:07 +0000 Received: from CY4PR21MB0743.namprd21.prod.outlook.com ([fe80::4062:c6d8:795:753a]) by CY4PR21MB0743.namprd21.prod.outlook.com ([fe80::4062:c6d8:795:753a%11]) with mapi id 15.20.3412.001; Wed, 16 Sep 2020 21:48:07 +0000 From: "Bret Barkelew" To: "devel@edk2.groups.io" , "Yao, Jiewen" , gaoliming , "Wang, Jian J" , "bret@corthon.com" , "Bi, Dandan" CC: "Wu, Hao A" , liming.gao , "Justen, Jordan L" , 'Laszlo Ersek' , 'Ard Biesheuvel' , 'Andrew Fish' , "Ni, Ray" Subject: Re: [edk2-devel] [PATCH v7 11/14] SecurityPkg: Allow VariablePolicy state to delete authenticated variables Thread-Topic: [edk2-devel] [PATCH v7 11/14] SecurityPkg: Allow VariablePolicy state to delete authenticated variables Thread-Index: AQHWi9R0S7CFHVfh7EqbuCNwE8KJIqlrzmMJ Date: Wed, 16 Sep 2020 21:48:07 +0000 Message-ID: References: <20200828055127.1610-1-brbarkel@microsoft.com> <20200828055127.1610-12-brbarkel@microsoft.com> <007a01d68bc9$744d2af0$5ce780d0$@byosoft.com.cn>, In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2020-09-16T21:47:50.0316031Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Privileged authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=microsoft.com; x-originating-ip: [71.212.128.185] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: e849d7be-3974-48d1-e8ac-08d85a8a3277 x-ms-traffictypediagnostic: CY4PR21MB0630: x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7219; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: J/6Peunh+mDXCRVRU4N4mGzBIOI/c8FuDM0iHpnbSliA/QkBx2CWwuTyKvHHupdasJ2meRO+kWHLJTM0rUFbvXTvMEEot1Ksm8ujbmHAIlOpw8xPj8OUQyP1oKzPv9dddfLxCbeUNeSNQm1IwTUolJ3X6AxvQdze77ZWklLWa7zmnGMvBUWilVnPu0avEHjF+F7Ht6VNnfOaw8PAlmc9KIBDy/s7WPu9sEHEIXOClg54bxt1uBt8Gr3SofFM2M/mgftQBGFRjBJZ3VncSrk93Xdp38CYt8ygxmDVm+TV7jD37BcJhxyz8BwJ10y1PZ+DrFiGC2XC61TMChw3L/l9U3DZwbUytyOguG0yzgF2N3sfJ7+3lIqNuvpCojkl+eOzdBe5/gOq0C9hrofGPGs2azPpQ6T4pDShSiosQiTSZsQsv4hBfskbIACh3yM5vQUD x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR21MB0743.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(136003)(39860400002)(376002)(346002)(366004)(64756008)(26005)(6506007)(478600001)(53546011)(186003)(8990500004)(33656002)(86362001)(66446008)(8936002)(15650500001)(316002)(4326008)(7696005)(52536014)(83380400001)(7416002)(166002)(9686003)(66946007)(66556008)(66476007)(55016002)(5660300002)(10290500003)(82960400001)(71200400001)(82950400001)(8676002)(110136005)(966005)(2906002)(91956017)(76116006)(54906003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: qkFsmiQwVZyhA9eXk5EME0mPoD9XaFCbm3+wI+Z93WQT1FQSMD3xsA6NytGhy10pAiIABAromy8wmk1v1YRPLq6mg9DRS3OCX+bB2eDES8GgeG9lRpDEmJOOX9A4zF9Bt3jb5HKDapuamrSMk/R7XcJgnCymjLfC82HQrtmXE8NWjGhMPQb1b8no2DYEWtVE54nBkvkGncFoNeLP44lpW7mNKNOEQFRrehxyQrOA3Qm4oUCkawHscRu2zv4eArwXstjssk8Vt1WmBcHgQ96CxnjPhja8wnG9L/pdAzay2Wzc3z4GqrxM+JZ/8CDrsqoSrXzKOGeYcN3kbNMFzdT6mRPb6Ikzh7wuenb68wzJlm8pwjLxMdx+M8YKqBapR+Sfr7eob5jsm81xmycD4T8JwTOculUmhHfnBmMsihleYZK7ZHEAOC0D9mLJlihztHA2YR+3EUmaYdEbaGT+gUiHlj6RneFQPNJNtFJy7cUPL9+qAhgldPittCKL6NH1I/zYI2izQYKmnVV3iyHeYnDiDLl3tOUQPR8v8wWkTmX9mw4nEnuqUYyga2dZhnCV/0tgYip2u3hJ2tU2bcd7HLx+GV66/OnlGIifrhEzeh85PeEobHYiPJJuHhy+LyiVwszLBqcI5UQxFkRF81rFTbS8wg== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR21MB0743.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e849d7be-3974-48d1-e8ac-08d85a8a3277 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Sep 2020 21:48:07.0341 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Uq6OiNWMkMbbsh+zoB84hCjDMhX8c3DkmlwuMCNLIOjZ5wVfUt6tXsz9H5kXW8ldhfe9SmSPGRU375nGDIzoKw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR21MB0630 Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_CY4PR21MB0743F4397BA477ACE3A9B398EF210CY4PR21MB0743namp_" --_000_CY4PR21MB0743F4397BA477ACE3A9B398EF210CY4PR21MB0743namp_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 VGhlc2UgYXJlIGJvdGggZ3JlYXQgcG9pbnRzIGFuZCBJoa9sbCBtYWtlIGJvdGggY2hhbmdlcy4N Cg0KVGhhbmtzIQ0KDQotIEJyZXQNCg0KRnJvbTogWWFvLCBKaWV3ZW4gdmlhIGdyb3Vwcy5pbzxt YWlsdG86amlld2VuLnlhbz1pbnRlbC5jb21AZ3JvdXBzLmlvPg0KU2VudDogVHVlc2RheSwgU2Vw dGVtYmVyIDE1LCAyMDIwIDc6NTIgUE0NClRvOiBZYW8sIEppZXdlbjxtYWlsdG86amlld2VuLnlh b0BpbnRlbC5jb20+OyBnYW9saW1pbmc8bWFpbHRvOmdhb2xpbWluZ0BieW9zb2Z0LmNvbS5jbj47 IGRldmVsQGVkazIuZ3JvdXBzLmlvPG1haWx0bzpkZXZlbEBlZGsyLmdyb3Vwcy5pbz47IFdhbmcs IEppYW4gSjxtYWlsdG86amlhbi5qLndhbmdAaW50ZWwuY29tPjsgYnJldEBjb3J0aG9uLmNvbTxt YWlsdG86YnJldEBjb3J0aG9uLmNvbT47IEJpLCBEYW5kYW48bWFpbHRvOmRhbmRhbi5iaUBpbnRl bC5jb20+DQpDYzogV3UsIEhhbyBBPG1haWx0bzpoYW8uYS53dUBpbnRlbC5jb20+OyBsaW1pbmcu Z2FvPG1haWx0bzpsaW1pbmcuZ2FvQGludGVsLmNvbT47IEp1c3RlbiwgSm9yZGFuIEw8bWFpbHRv OmpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+OyAnTGFzemxvIEVyc2VrJzxtYWlsdG86bGVyc2Vr QHJlZGhhdC5jb20+OyAnQXJkIEJpZXNoZXV2ZWwnPG1haWx0bzphcmQuYmllc2hldXZlbEBhcm0u Y29tPjsgJ0FuZHJldyBGaXNoJzxtYWlsdG86YWZpc2hAYXBwbGUuY29tPjsgTmksIFJheTxtYWls dG86cmF5Lm5pQGludGVsLmNvbT4NClN1YmplY3Q6IFtFWFRFUk5BTF0gUmU6IFtlZGsyLWRldmVs XSBbUEFUQ0ggdjcgMTEvMTRdIFNlY3VyaXR5UGtnOiBBbGxvdyBWYXJpYWJsZVBvbGljeSBzdGF0 ZSB0byBkZWxldGUgYXV0aGVudGljYXRlZCB2YXJpYWJsZXMNCg0KSGkgQnJldA0KSSBoYXZlIG1p bm9yIGNvbW1lbnQgYmVsb3cuIFBsZWFzZSBsZXQgbWUga25vdyB5b3VyIHRob3VnaHQuDQoNCg0K PiAtLS0tLdPKvP7Urbz+LS0tLS0NCj4gt6K8/sjLOiBib3VuY2UrMjc5NTIrNjQ3MjMrNDkwNTk1 Mys4NzYxMDQ1QGdyb3Vwcy5pbw0KPiA8Ym91bmNlKzI3OTUyKzY0NzIzKzQ5MDU5NTMrODc2MTA0 NUBncm91cHMuaW8+ILT6se0gQnJldCBCYXJrZWxldw0KPiC3osvNyrG85DogMjAyMMTqONTCMjjI 1SAxMzo1MQ0KPiDK1bz+yMs6IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ILOty806IEppZXdlbiBZ YW8gPGppZXdlbi55YW9AaW50ZWwuY29tPjsgSmlhbiBKIFdhbmcNCj4gPGppYW4uai53YW5nQGlu dGVsLmNvbT47IENoYW8gWmhhbmcgPGNoYW8uYi56aGFuZ0BpbnRlbC5jb20+DQo+INb3zOI6IFtl ZGsyLWRldmVsXSBbUEFUQ0ggdjcgMTEvMTRdIFNlY3VyaXR5UGtnOiBBbGxvdyBWYXJpYWJsZVBv bGljeSBzdGF0ZQ0KPiB0byBkZWxldGUgYXV0aGVudGljYXRlZCB2YXJpYWJsZXMNCj4NCj4gaHR0 cHM6Ly9uYW0wNi5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNB JTJGJTJGYnVnemlsbGEudGlhbm9jb3JlLm9yZyUyRnNob3dfYnVnLmNnaSUzRmlkJTNEMjUyMiZh bXA7ZGF0YT0wMiU3QzAxJTdDYnJldC5iYXJrZWxldyU0MG1pY3Jvc29mdC5jb20lN0M4ZjFhZWU5 ZjE1YTE0OTAwYTNkNTA4ZDg1OWViNzIyMiU3QzcyZjk4OGJmODZmMTQxYWY5MWFiMmQ3Y2QwMTFk YjQ3JTdDMSU3QzAlN0M2MzczNTgyMTU2MzA4NTQ5NzMmYW1wO3NkYXRhPUp5RGRYQzlKUmRCZHFm bWhBYzZmSTRSNXhoaDcwd2NEME5uTklnd2ZGM3clM0QmYW1wO3Jlc2VydmVkPTANCj4NCj4gQ2F1 c2VzIEF1dGhTZXJ2aWNlIHRvIGNoZWNrDQo+IElzVmFyaWFibGVQb2xpY3lFbmFibGVkKCkgYmVm b3JlIGVuZm9yY2luZw0KPiB3cml0ZSBwcm90ZWN0aW9ucyB0byBhbGxvdyB2YXJpYWJsZSBkZWxl dGlvbg0KPiB3aGVuIHBvbGljeSBlbmdpbmUgaXMgZGlzYWJsZWQuDQo+DQo+IE9ubHkgYWxsb3dz IGRlbGV0aW9uLCBub3QgbW9kaWZpY2F0aW9uLg0KPg0KPiBDYzogSmlld2VuIFlhbyA8amlld2Vu Lnlhb0BpbnRlbC5jb20+DQo+IENjOiBKaWFuIEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29t Pg0KPiBDYzogQ2hhbyBaaGFuZyA8Y2hhby5iLnpoYW5nQGludGVsLmNvbT4NCj4gQ2M6IEJyZXQg QmFya2VsZXcgPGJyYmFya2VsQG1pY3Jvc29mdC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IEJyZXQg QmFya2VsZXcgPGJyYmFya2VsQG1pY3Jvc29mdC5jb20+DQo+IC0tLQ0KPiAgU2VjdXJpdHlQa2cv TGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFNlcnZpY2UuYyAgICAgICB8IDIyDQo+ICsrKysr KysrKysrKysrKystLS0tDQo+ICBTZWN1cml0eVBrZy9MaWJyYXJ5L0F1dGhWYXJpYWJsZUxpYi9B dXRoVmFyaWFibGVMaWIuaW5mIHwgIDIgKysNCj4gIDIgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0 aW9ucygrKSwgNCBkZWxldGlvbnMoLSkNCj4NCj4gZGlmZiAtLWdpdCBhL1NlY3VyaXR5UGtnL0xp YnJhcnkvQXV0aFZhcmlhYmxlTGliL0F1dGhTZXJ2aWNlLmMNCj4gYi9TZWN1cml0eVBrZy9MaWJy YXJ5L0F1dGhWYXJpYWJsZUxpYi9BdXRoU2VydmljZS5jDQo+IGluZGV4IDJmNjAzMzFmMmMwNC4u YWNhOWE1NjIwYzI4IDEwMDY0NA0KPiAtLS0gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L0F1dGhWYXJp YWJsZUxpYi9BdXRoU2VydmljZS5jDQo+ICsrKyBiL1NlY3VyaXR5UGtnL0xpYnJhcnkvQXV0aFZh cmlhYmxlTGliL0F1dGhTZXJ2aWNlLmMNCj4gQEAgLTE5LDEyICsxOSwxNiBAQA0KPiAgICB0byB2 ZXJpZnkgdGhlIHNpZ25hdHVyZS4NCj4NCj4NCj4NCj4gIENvcHlyaWdodCAoYykgMjAwOSAtIDIw MTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4NCj4gK0Nv cHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KPg0KPiAgU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4NCj4NCj4NCj4gICoqLw0KPg0KPg0KPg0K PiAgI2luY2x1ZGUgIkF1dGhTZXJ2aWNlSW50ZXJuYWwuaCINCj4NCj4NCj4NCj4gKyNpbmNsdWRl IDxQcm90b2NvbC9WYXJpYWJsZVBvbGljeS5oPg0KPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVmFy aWFibGVQb2xpY3lMaWIuaD4NCj4NCj4gKw0KPg0KPiAgLy8NCj4NCj4gIC8vIFB1YmxpYyBFeHBv bmVudCBvZiBSU0EgS2V5Lg0KPg0KPiAgLy8NCj4NCj4gQEAgLTIxNyw5ICsyMjEsMTIgQEAgTmVl ZFBoeXNpY2FsbHlQcmVzZW50KA0KPiAgICBJTiAgICAgRUZJX0dVSUQgICAgICAgKlZlbmRvckd1 aWQNCj4NCj4gICAgKQ0KPg0KPiAgew0KPg0KPiAtICBpZiAoKENvbXBhcmVHdWlkIChWZW5kb3JH dWlkLCAmZ0VmaVNlY3VyZUJvb3RFbmFibGVEaXNhYmxlR3VpZCkgJiYNCj4gKFN0ckNtcCAoVmFy aWFibGVOYW1lLCBFRklfU0VDVVJFX0JPT1RfRU5BQkxFX05BTUUpID09IDApKQ0KPg0KPiAtICAg IHx8IChDb21wYXJlR3VpZCAoVmVuZG9yR3VpZCwgJmdFZmlDdXN0b21Nb2RlRW5hYmxlR3VpZCkg JiYgKFN0ckNtcA0KPiAoVmFyaWFibGVOYW1lLCBFRklfQ1VTVE9NX01PREVfTkFNRSkgPT0gMCkp KSB7DQo+DQo+IC0gICAgcmV0dXJuIFRSVUU7DQo+DQo+ICsgIC8vIElmIHRoZSBWYXJpYWJsZVBv bGljeSBlbmdpbmUgaXMgZGlzYWJsZWQsIGFsbG93IGRlbGV0aW9uIG9mIGFueQ0KPiBhdXRoZW50 aWNhdGVkIHZhcmlhYmxlcy4NCj4NCj4gKyAgaWYgKElzVmFyaWFibGVQb2xpY3lFbmFibGVkKCkp IHsNCj4NCj4gKyAgICBpZiAoKENvbXBhcmVHdWlkIChWZW5kb3JHdWlkLCAmZ0VmaVNlY3VyZUJv b3RFbmFibGVEaXNhYmxlR3VpZCkgJiYNCj4gKFN0ckNtcCAoVmFyaWFibGVOYW1lLCBFRklfU0VD VVJFX0JPT1RfRU5BQkxFX05BTUUpID09IDApKQ0KPg0KPiArICAgICAgfHwgKENvbXBhcmVHdWlk IChWZW5kb3JHdWlkLCAmZ0VmaUN1c3RvbU1vZGVFbmFibGVHdWlkKSAmJiAoU3RyQ21wDQo+IChW YXJpYWJsZU5hbWUsIEVGSV9DVVNUT01fTU9ERV9OQU1FKSA9PSAwKSkpIHsNCj4NCj4gKyAgICAg IHJldHVybiBUUlVFOw0KPg0KPiArICAgIH0NCj4NCj4gICAgfQ0KDQpbSmlld2VuXSBMb29rcyBn b29kLg0KDQo+DQo+DQo+ICAgIHJldHVybiBGQUxTRTsNCj4NCj4gQEAgLTg0Miw3ICs4NDksOCBA QCBQcm9jZXNzVmFyaWFibGUgKA0KPiAgICAgICAgICAgICAgICZPcmdWYXJpYWJsZUluZm8NCj4N Cj4gICAgICAgICAgICAgICApOw0KPg0KPg0KPg0KPiAtICBpZiAoKCFFRklfRVJST1IgKFN0YXR1 cykpICYmIElzRGVsZXRlQXV0aFZhcmlhYmxlDQo+IChPcmdWYXJpYWJsZUluZm8uQXR0cmlidXRl cywgRGF0YSwgRGF0YVNpemUsIEF0dHJpYnV0ZXMpICYmDQo+IFVzZXJQaHlzaWNhbFByZXNlbnQo KSkgew0KPg0KPiArICAvLyBJZiB0aGUgVmFyaWFibGVQb2xpY3kgZW5naW5lIGlzIGRpc2FibGVk LCBhbGxvdyBkZWxldGlvbiBvZiBhbnkNCj4gYXV0aGVudGljYXRlZCB2YXJpYWJsZXMuDQo+DQo+ ICsgIGlmICgoIUVGSV9FUlJPUiAoU3RhdHVzKSkgJiYgSXNEZWxldGVBdXRoVmFyaWFibGUNCj4g KE9yZ1ZhcmlhYmxlSW5mby5BdHRyaWJ1dGVzLCBEYXRhLCBEYXRhU2l6ZSwgQXR0cmlidXRlcykg JiYNCj4gKFVzZXJQaHlzaWNhbFByZXNlbnQoKSB8fCAhSXNWYXJpYWJsZVBvbGljeUVuYWJsZWQo KSkpIHsNCj4NCg0KW0ppZXdlbl0gTG9va3MgZ29vZC4NCg0KPiAgICAgIC8vDQo+DQo+ICAgICAg Ly8gQWxsb3cgdGhlIGRlbGV0ZSBvcGVyYXRpb24gb2YgY29tbW9uIGF1dGhlbnRpY2F0ZWQgdmFy aWFibGUoQVQgb3INCj4gQVcpIGF0IHVzZXIgcGh5c2ljYWwgcHJlc2VuY2UuDQo+DQo+ICAgICAg Ly8NCj4NCj4gQEAgLTE5NjAsNiArMTk2OCwxMiBAQCBWZXJpZnlUaW1lQmFzZWRQYXlsb2FkICgN Cj4NCj4NCj4gICAgQ29weU1lbSAoQnVmZmVyLCBQYXlsb2FkUHRyLCBQYXlsb2FkU2l6ZSk7DQo+ DQo+DQo+DQo+ICsgIC8vIElmIHRoZSBWYXJpYWJsZVBvbGljeSBlbmdpbmUgaXMgZGlzYWJsZWQs IGFsbG93IGRlbGV0aW9uIG9mIGFueQ0KPiBhdXRoZW50aWNhdGVkIHZhcmlhYmxlcy4NCj4NCj4g KyAgaWYgKFBheWxvYWRTaXplID09IDAgJiYgKEF0dHJpYnV0ZXMgJiBFRklfVkFSSUFCTEVfQVBQ RU5EX1dSSVRFKSA9PSAwICYmDQo+ICFJc1ZhcmlhYmxlUG9saWN5RW5hYmxlZCgpKSB7DQo+DQo+ ICsgICAgVmVyaWZ5U3RhdHVzID0gVFJVRTsNCj4NCj4gKyAgICBnb3RvIEV4aXQ7DQo+DQo+ICsg IH0NCj4NCg0KW0ppZXdlbl0gSSBjaGVja2VkIHRoZSBwcm9ncmFtbWluZyBjb250ZXh0Lg0KSWYg d2UgYXJlIGdvaW5nIHRvIHNraXAgdGhlIGNoZWNrLCBJIGZlZWwgdGhlIEdldFNjcmF0Y2hCdWZm ZXIoKSBhbmQgQ29weU1lbSAoKSBtYXkgYmUgYXZvaWRlZC4NCkFsc28sIEkgZG8gbm90IGZpbmQg YW55IHRob3NlIGRhdGEgYXJlIHVzZWQgYXQgRXhpdC4NCg0KSG93IGFib3V0IHdlIG1vdmUgdGhl IGNoZWNrIGp1c3QgYWZ0ZXIgZ2V0dGluZyBQYXlsb2FkU2l6ZT8NCiAgLy8NCiAgLy8gRmluZCBv dXQgdGhlIG5ldyBkYXRhIHBheWxvYWQgd2hpY2ggZm9sbG93cyBQa2NzNyBTaWduZWREYXRhIGRp cmVjdGx5Lg0KICAvLw0KICBQYXlsb2FkUHRyID0gU2lnRGF0YSArIFNpZ0RhdGFTaXplOw0KICBQ YXlsb2FkU2l6ZSA9IERhdGFTaXplIC0gT0ZGU0VUX09GX0FVVEhJTkZPMl9DRVJUX0RBVEEgLSAo VUlOVE4pIFNpZ0RhdGFTaXplOw0KSSBob3BlIGl0IGNhbiBtYWtlIGxvZ2ljIGNsZWFyZXIuDQoN Cg0KT25lIG1vcmUgdGhpbmcgaXMgYWJvdXQgYmVsb3cgYWN0aW9uIGF0IEV4aXQuDQpQa2NzN0Zy ZWVTaWduZXJzIChUb3BMZXZlbENlcnQpOw0KUGtjczdGcmVlU2lnbmVycyAoU2lnbmVyQ2VydHMp Ow0KDQpXaXRoIG5ldyBzaG9ydCBwYXRoLCB3ZSBjYW4gY29tZSBoZXJlIHdpdGggTlVMTCBwb2lu dCBmb3IgUGtjczdGcmVlU2lnbmVycygpLg0KSSBkb24ndCBrbm93IHRoZSByZXN1bHQgaWYgd2Ug cGFzcyBhIE5VTEwgcG9pbnRlciBhY2NvcmRpbmcgdG8gUGtjczdGcmVlU2lnbmVycygpIEFQSSBk ZWZpbml0aW9uLg0KLyoqDQogIFdyYXAgZnVuY3Rpb24gdG8gdXNlIGZyZWUoKSB0byBmcmVlIGFs bG9jYXRlZCBtZW1vcnkgZm9yIGNlcnRpZmljYXRlcy4NCiAgSWYgdGhpcyBpbnRlcmZhY2UgaXMg bm90IHN1cHBvcnRlZCwgdGhlbiBBU1NFUlQoKS4NCiAgQHBhcmFtW2luXSAgQ2VydHMgICAgICAg IFBvaW50ZXIgdG8gdGhlIGNlcnRpZmljYXRlcyB0byBiZSBmcmVlZC4NCioqLw0KVk9JRA0KRUZJ QVBJDQpQa2NzN0ZyZWVTaWduZXJzICgNCiAgSU4gIFVJTlQ4ICAgICAgICAqQ2VydHMNCiAgKTsN Cg0KSSBub3RpY2UgdGhlIGN1cnJlbnQgb3BlbnNzbCB2ZXJzaW9uIEJhc2VDcnlwdG9MaWIgaW1w bGVtZW50YXRpb24gd2lsbCBjaGVjayBOVUxMIGFuZCByZXR1cm4uDQpXZSBhcmUgc2FmZSBpbiB0 aGUgZGVmYXVsdCBvbmUuIEJ1dCBJIGFtIG5vdCBzdXJlIGFib3V0IG90aGVyIGltcGxlbWVudGF0 aW9uLg0KDQpJIHJlY29tbWVuZCB3ZSBlaXRoZXIgZG9jdW1lbnQgTlVMTCBwb2ludGVyIGJlaGF2 aW9yIGluIFBrY3M3RnJlZVNpZ25lcnMoKSwgb3IgYWRkIE5VTEwgcG9pbnRlciBjaGVjayBhdCBF eGl0IHRvIGF2b2lkIGNhbGxpbmcgUGtjczdGcmVlU2lnbmVycygpLg0KDQpXaXRoIGFib3ZlIHR3 byB1cGRhdGUsIHJldmlld2VkLWJ5OiBKaWV3ZW4gWWFvIDxKaWV3ZW4ueWFvQGludGVsLmNvbT4N Cg0KDQo+ICsNCj4NCj4gICAgaWYgKEF1dGhWYXJUeXBlID09IEF1dGhWYXJUeXBlUGspIHsNCj4N Cj4gICAgICAvLw0KPg0KPiAgICAgIC8vIFZlcmlmeSB0aGF0IHRoZSBzaWduYXR1cmUgaGFzIGJl ZW4gbWFkZSB3aXRoIHRoZSBjdXJyZW50IFBsYXRmb3JtDQo+IEtleSAobm8gY2hhaW5pbmcgZm9y IFBLKS4NCj4NCj4gZGlmZiAtLWdpdCBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvQXV0aFZhcmlhYmxl TGliL0F1dGhWYXJpYWJsZUxpYi5pbmYNCj4gYi9TZWN1cml0eVBrZy9MaWJyYXJ5L0F1dGhWYXJp YWJsZUxpYi9BdXRoVmFyaWFibGVMaWIuaW5mDQo+IGluZGV4IDhkNGNlMTRkZjQ5NC4uOGVhZGVl YmNlYmQ3IDEwMDY0NA0KPiAtLS0gYS9TZWN1cml0eVBrZy9MaWJyYXJ5L0F1dGhWYXJpYWJsZUxp Yi9BdXRoVmFyaWFibGVMaWIuaW5mDQo+ICsrKyBiL1NlY3VyaXR5UGtnL0xpYnJhcnkvQXV0aFZh cmlhYmxlTGliL0F1dGhWYXJpYWJsZUxpYi5pbmYNCj4gQEAgLTMsNiArMyw3IEBADQo+ICAjDQo+ DQo+ICAjICBDb3B5cmlnaHQgKGMpIDIwMTUgLSAyMDE2LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+DQo+ICAjICBDb3B5cmlnaHQgKGMpIDIwMTgsIEFSTSBM aW1pdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4NCj4gKyMgIENvcHlyaWdodCAoYykg TWljcm9zb2Z0IENvcnBvcmF0aW9uLg0KPg0KPiAgIw0KPg0KPiAgIyAgU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4NCj4gICMNCj4NCj4gQEAgLTQxLDYgKzQy LDcgQEAgW0xpYnJhcnlDbGFzc2VzXQ0KPiAgICBNZW1vcnlBbGxvY2F0aW9uTGliDQo+DQo+ICAg IEJhc2VDcnlwdExpYg0KPg0KPiAgICBQbGF0Zm9ybVNlY3VyZUxpYg0KPg0KPiArICBWYXJpYWJs ZVBvbGljeUxpYg0KPg0KPg0KPg0KPiAgW0d1aWRzXQ0KPg0KPiAgICAjIyBDT05TVU1FUyAgICAg ICAgICAgICMjIFZhcmlhYmxlOkwiU2V0dXBNb2RlIg0KPg0KPiAtLQ0KPiAyLjI4LjAud2luZG93 cy4xDQo+DQo+DQo+IC09LT0tPS09LT0tPQ0KPiBHcm91cHMuaW8gTGlua3M6IFlvdSByZWNlaXZl IGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMgZ3JvdXAuDQo+DQo+IFZpZXcvUmVwbHkgT25saW5l ICgjNjQ3MjMpOiBodHRwczovL25hbTA2LnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29t Lz91cmw9aHR0cHMlM0ElMkYlMkZlZGsyLmdyb3Vwcy5pbyUyRmclMkZkZXZlbCUyRm1lc3NhZ2Ul MkY2NDcyMyZhbXA7ZGF0YT0wMiU3QzAxJTdDYnJldC5iYXJrZWxldyU0MG1pY3Jvc29mdC5jb20l N0M4ZjFhZWU5ZjE1YTE0OTAwYTNkNTA4ZDg1OWViNzIyMiU3QzcyZjk4OGJmODZmMTQxYWY5MWFi MmQ3Y2QwMTFkYjQ3JTdDMSU3QzAlN0M2MzczNTgyMTU2MzA4NjQ5NzEmYW1wO3NkYXRhPUpweGln Z2h5d2VTZ0dveFMzbEY2UDZnaVVxSTZXa0lrRGZYNiUyRlRxY29nNCUzRCZhbXA7cmVzZXJ2ZWQ9 MA0KPiBNdXRlIFRoaXMgVG9waWM6IGh0dHBzOi8vbmFtMDYuc2FmZWxpbmtzLnByb3RlY3Rpb24u b3V0bG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUyRmdyb3Vwcy5pbyUyRm10JTJGNzY0NjgxMzcl MkY0OTA1OTUzJmFtcDtkYXRhPTAyJTdDMDElN0NicmV0LmJhcmtlbGV3JTQwbWljcm9zb2Z0LmNv bSU3QzhmMWFlZTlmMTVhMTQ5MDBhM2Q1MDhkODU5ZWI3MjIyJTdDNzJmOTg4YmY4NmYxNDFhZjkx YWIyZDdjZDAxMWRiNDclN0MxJTdDMCU3QzYzNzM1ODIxNTYzMDg2NDk3MSZhbXA7c2RhdGE9RlVB VDhqNGljOUFva1ZqWFdSTkFnQzJHUlRLZzU4MXJyYSUyQkhjbkolMkYlMkJCYyUzRCZhbXA7cmVz ZXJ2ZWQ9MA0KPiBHcm91cCBPd25lcjogZGV2ZWwrb3duZXJAZWRrMi5ncm91cHMuaW8NCj4gVW5z dWJzY3JpYmU6IGh0dHBzOi8vbmFtMDYuc2FmZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20v P3VybD1odHRwcyUzQSUyRiUyRmVkazIuZ3JvdXBzLmlvJTJGZyUyRmRldmVsJTJGdW5zdWImYW1w O2RhdGE9MDIlN0MwMSU3Q2JyZXQuYmFya2VsZXclNDBtaWNyb3NvZnQuY29tJTdDOGYxYWVlOWYx NWExNDkwMGEzZDUwOGQ4NTllYjcyMjIlN0M3MmY5ODhiZjg2ZjE0MWFmOTFhYjJkN2NkMDExZGI0 NyU3QzElN0MwJTdDNjM3MzU4MjE1NjMwODY0OTcxJmFtcDtzZGF0YT1rVFk4STJzMVdySk1jMHI0 M3d5MGQxTHdISmZuVmUzV3VZbnglMkJDTXVUNGslM0QmYW1wO3Jlc2VydmVkPTANCj4gW2dhb2xp bWluZ0BieW9zb2Z0LmNvbS5jbl0NCj4gLT0tPS09LT0tPS09DQo+DQo+DQoNCg0KDQoNCg== --_000_CY4PR21MB0743F4397BA477ACE3A9B398EF210CY4PR21MB0743namp_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable

These are both great points and I=A1=AFll make both= changes.

 

Thanks!

 

- Bret

 

 

Hi Bret
I have minor comment below. Please let me know your thought.

 
> -----=D3=CA=BC=FE= = =D4=AD=BC=FE-----
> =B7=A2=BC=FE=C8= =CB: bounce+27952+64723+4905953+8761045@groups.io
> <bounce+27952+64723+4905953+8761045@groups.io> =B4=FA=B1=ED Bret Barkelew
> =B7=A2=CB=CD=CA= = =B1=BC=E4: 2020= =C4=EA8=D4=C228=C8=D5 13:51
> =CA=D5=BC=FE=C8=CB<= /span>: devel@edk2.groups.io
> =B3=AD=CB=CD= : Jiewen Yao <jiewen.yao@intel.com>; Jian J Wang
> <jian.j.wang@intel.com>; Chao Zhang <chao.b.zhang@intel.com&= gt;
> =D6=F7=CC=E2: [edk2-devel] [PATCH v7 11/14] SecurityPkg: Allow VariablePolicy state > to delete authenticated variables
>
> https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fbugzil= la.tianocore.org%2Fshow_bug.cgi%3Fid%3D2522&amp;data=3D02%7C01%7Cbret.b= arkelew%40microsoft.com%7C8f1aee9f15a14900a3d508d859eb7222%7C72f988bf86f141= af91ab2d7cd011db47%7C1%7C0%7C637358215630854973&amp;sdata=3DJyDdXC9JRdB= dqfmhAc6fI4R5xhh70wcD0NnNIgwfF3w%3D&amp;reserved=3D0
>
> Causes AuthService to check
> IsVariablePolicyEnabled() before enforcing
> write protections to allow variable deletion
> when policy engine is disabled.
>
> Only allows deletion, not modification.
>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Chao Zhang <chao.b.zhang@intel.com>
> Cc: Bret Barkelew <brbarkel@microsoft.com>
> Signed-off-by: Bret Barkelew <brbarkel@microsoft.com>
> ---
>  SecurityPkg/Library/AuthVariableLib/AuthService.c  &n= bsp;    | 22
> ++++++++++++++++----
>  SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf | = 2 ++
>  2 files changed, 20 insertions(+), 4 deletions(-)
>
> diff --git a/SecurityPkg/Library/AuthVariableLib/AuthService.c
> b/SecurityPkg/Library/AuthVariableLib/AuthService.c
> index 2f60331f2c04..aca9a5620c28 100644
> --- a/SecurityPkg/Library/AuthVariableLib/AuthService.c
> +++ b/SecurityPkg/Library/AuthVariableLib/AuthService.c
> @@ -19,12 +19,16 @@
>    to verify the signature.
>
>
>
>  Copyright (c) 2009 - 2019, Intel Corporation. All rights reserv= ed.<BR>
>
> +Copyright (c) Microsoft Corporation.
>
>  SPDX-License-Identifier: BSD-2-Clause-Patent
>
>
>
>  **/
>
>
>
>  #include "AuthServiceInternal.h"
>
>
>
> +#include <Protocol/VariablePolicy.h>
>
> +#include <Library/VariablePolicyLib.h>
>
> +
>
>  //
>
>  // Public Exponent of RSA Key.
>
>  //
>
> @@ -217,9 +221,12 @@ NeedPhysicallyPresent(
>    IN     EFI_GUID  &nbs= p;    *VendorGuid
>
>    )
>
>  {
>
> -  if ((CompareGuid (VendorGuid, &gEfiSecureBootEnableDisabl= eGuid) &&
> (StrCmp (VariableName, EFI_SECURE_BOOT_ENABLE_NAME) =3D=3D 0))
>
> -    || (CompareGuid (VendorGuid, &gEfiCustomModeE= nableGuid) && (StrCmp
> (VariableName, EFI_CUSTOM_MODE_NAME) =3D=3D 0))) {
>
> -    return TRUE;
>
> +  // If the VariablePolicy engine is disabled, allow deletion o= f any
> authenticated variables.
>
> +  if (IsVariablePolicyEnabled()) {
>
> +    if ((CompareGuid (VendorGuid, &gEfiSecureBoot= EnableDisableGuid) &&
> (StrCmp (VariableName, EFI_SECURE_BOOT_ENABLE_NAME) =3D=3D 0))
>
> +      || (CompareGuid (VendorGuid, &gEf= iCustomModeEnableGuid) && (StrCmp
> (VariableName, EFI_CUSTOM_MODE_NAME) =3D=3D 0))) {
>
> +      return TRUE;
>
> +    }
>
>    }

[Jiewen] Looks good.

>
>
>    return FALSE;
>
> @@ -842,7 +849,8 @@ ProcessVariable (
>           &nbs= p;   &OrgVariableInfo
>
>           &nbs= p;   );
>
>
>
> -  if ((!EFI_ERROR (Status)) && IsDeleteAuthVariable
> (OrgVariableInfo.Attributes, Data, DataSize, Attributes) && > UserPhysicalPresent()) {
>
> +  // If the VariablePolicy engine is disabled, allow deletion o= f any
> authenticated variables.
>
> +  if ((!EFI_ERROR (Status)) && IsDeleteAuthVariable
> (OrgVariableInfo.Attributes, Data, DataSize, Attributes) && > (UserPhysicalPresent() || !IsVariablePolicyEnabled())) {
>

[Jiewen] Looks good.

>      //
>
>      // Allow the delete operation of common= authenticated variable(AT or
> AW) at user physical presence.
>
>      //
>
> @@ -1960,6 +1968,12 @@ VerifyTimeBasedPayload (
>
>
>    CopyMem (Buffer, PayloadPtr, PayloadSize);
>
>
>
> +  // If the VariablePolicy engine is disabled, allow deletion o= f any
> authenticated variables.
>
> +  if (PayloadSize =3D=3D 0 && (Attributes & EFI_VAR= IABLE_APPEND_WRITE) =3D=3D 0 &&
> !IsVariablePolicyEnabled()) {
>
> +    VerifyStatus =3D TRUE;
>
> +    goto Exit;
>
> +  }
>

[Jiewen] I checked the programming context.
If we are going to skip the check, I feel the GetScratchBuffer() and CopyM= em () may be avoided.
Also, I do not find any those data are used at Exit.

How about we move the check just after getting PayloadSize?
  //
  // Find out the new data payload which follows Pkcs7 SignedData dir= ectly.
  //
  PayloadPtr =3D SigData + SigDataSize;
  PayloadSize =3D DataSize - OFFSET_OF_AUTHINFO2_CERT_DATA - (UINTN) = SigDataSize;
I hope it can make logic clearer.


One more thing is about below action at Exit.
Pkcs7FreeSigners (TopLevelCert);
Pkcs7FreeSigners (SignerCerts);

With new short path, we can come here with NULL point for Pkcs7FreeSigners= ().
I don't know the result if we pass a NULL pointer according to Pkcs7FreeSi= gners() API definition.
/**
  Wrap function to use free() to free allocated memory for certificat= es.
  If this interface is not supported, then ASSERT().
  @param[in]  Certs        Po= inter to the certificates to be freed.
**/
VOID
EFIAPI
Pkcs7FreeSigners (
  IN  UINT8        *Certs
  );

I notice the current openssl version BaseCryptoLib implementation will che= ck NULL and return.
We are safe in the default one. But I am not sure about other implementati= on.

I recommend we either document NULL pointer behavior in Pkcs7FreeSigners()= , or add NULL pointer check at Exit to avoid calling Pkcs7FreeSigners().
With above two update, reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>= ;


> +
>
>    if (AuthVarType =3D=3D AuthVarTypePk) {
>
>      //
>
>      // Verify that the signature has been m= ade with the current Platform
> Key (no chaining for PK).
>
> diff --git a/SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf<= br> > b/SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
> index 8d4ce14df494..8eadeebcebd7 100644
> --- a/SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
> +++ b/SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
> @@ -3,6 +3,7 @@
>  #
>
>  #  Copyright (c) 2015 - 2016, Intel Corporation. All right= s reserved.<BR>
>
>  #  Copyright (c) 2018, ARM Limited. All rights reserved.&l= t;BR>
>
> +#  Copyright (c) Microsoft Corporation.
>
>  #
>
>  #  SPDX-License-Identifier: BSD-2-Clause-Patent
>
>  #
>
> @@ -41,6 +42,7 @@ [LibraryClasses]
>    MemoryAllocationLib
>
>    BaseCryptLib
>
>    PlatformSecureLib
>
> +  VariablePolicyLib
>
>
>
>  [Guids]
>
>    ## CONSUMES      &nbs= p;     ## Variable:L"SetupMode"
>
> --
> 2.28.0.windows.1
>
>
> -=3D-=3D-=3D-=3D-=3D-=3D
> Groups.io Links: You receive all messages sent to this group.
>
> View/Reply Online (#64723): https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fedk2.g= roups.io%2Fg%2Fdevel%2Fmessage%2F64723&amp;data=3D02%7C01%7Cbret.barkel= ew%40microsoft.com%7C8f1aee9f15a14900a3d508d859eb7222%7C72f988bf86f141af91a= b2d7cd011db47%7C1%7C0%7C637358215630864971&amp;sdata=3DJpxigghyweSgGoxS= 3lF6P6giUqI6WkIkDfX6%2FTqcog4%3D&amp;reserved=3D0
> Mute This Topic: https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fgroups= .io%2Fmt%2F76468137%2F4905953&amp;data=3D02%7C01%7Cbret.barkelew%40micr= osoft.com%7C8f1aee9f15a14900a3d508d859eb7222%7C72f988bf86f141af91ab2d7cd011= db47%7C1%7C0%7C637358215630864971&amp;sdata=3DFUAT8j4ic9AokVjXWRNAgC2GR= TKg581rra%2BHcnJ%2F%2BBc%3D&amp;reserved=3D0
> Group Owner: devel+owner@edk2.groups.io
> Unsubscribe: https://nam06.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fedk2.g= roups.io%2Fg%2Fdevel%2Funsub&amp;data=3D02%7C01%7Cbret.barkelew%40micro= soft.com%7C8f1aee9f15a14900a3d508d859eb7222%7C72f988bf86f141af91ab2d7cd011d= b47%7C1%7C0%7C637358215630864971&amp;sdata=3DkTY8I2s1WrJMc0r43wy0d1LwHJ= fnVe3WuYnx%2BCMuT4k%3D&amp;reserved=3D0
> [gaoliming@byosoft.com.cn]
> -=3D-=3D-=3D-=3D-=3D-=3D
>
>


 

--_000_CY4PR21MB0743F4397BA477ACE3A9B398EF210CY4PR21MB0743namp_--