From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.byosoft.com.cn (mail.byosoft.com.cn [58.240.74.242]) by mx.groups.io with SMTP id smtpd.web11.1611.1605574821368545696 for ; Mon, 16 Nov 2020 17:00:22 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=none, err=permanent DNS error (domain: byosoft.com.cn, ip: 58.240.74.242, mailfrom: gaoliming@byosoft.com.cn) Received: from DESKTOPS6D0PVI ([58.246.60.130]) (envelope-sender ) by 192.168.6.13 with ESMTP for ; Tue, 17 Nov 2020 09:00:08 +0800 X-WM-Sender: gaoliming@byosoft.com.cn X-WM-AuthFlag: YES X-WM-AuthUser: gaoliming@byosoft.com.cn From: "gaoliming" To: , , "'Bret Barkelew'" Cc: "'Laszlo Ersek'" , "'Michael D Kinney'" References: <20201109064522.919-1-bret.barkelew@microsoft.com> <003b01d6b8ff$87dae810$9790b830$@byosoft.com.cn> <1646EF0A6B8F843A.414@groups.io> In-Reply-To: <1646EF0A6B8F843A.414@groups.io> Subject: =?UTF-8?B?5Zue5aSNOiBbZWRrMi1kZXZlbF0gW1BBVENIIHY5IDAwLzEzXSBBZGQgdGhlIFZhcmlhYmxlUG9saWN5IGZlYXR1cmU=?= Date: Tue, 17 Nov 2020 09:00:09 +0800 Message-ID: <005d01d6bc7c$fee7a990$fcb6fcb0$@byosoft.com.cn> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQJLPoKaSG+DZoUNf2pf4ozKyJfXuAJv8t+rAhqNHEsCyoXPAQHCj/28ASeZiF+okINVoA== Content-Type: multipart/alternative; boundary="----=_NextPart_000_005E_01D6BCC0.0D0DA8B0" Content-Language: zh-cn ------=_NextPart_000_005E_01D6BCC0.0D0DA8B0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Create PR https://github.com/tianocore/edk2/pull/1128 for this patch set.= =20 =20 =E5=8F=91=E4=BB=B6=E4=BA=BA: bounce+27952+67415+4905953+8761045@groups.io = =E4=BB=A3=E8=A1=A8 gaoliming =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2020=E5=B9=B411=E6=9C=8813=E6=97=A5 = 10:05 =E6=94=B6=E4=BB=B6=E4=BA=BA: 'Bret Barkelew' =E6=8A=84=E9=80=81: 'edk2-devel-groups-io' ; 'Laszlo= Ersek' ; 'Michael D Kinney' =E4=B8=BB=E9=A2=98: =E5=9B=9E=E5=A4=8D: [edk2-devel] [PATCH v9 00/13] Add = the VariablePolicy feature =20 Bret: Yes. I think this patch set pass code review. If no objection, I will mer= ge it next Monday.=20 =20 Thanks Liming =E5=8F=91=E4=BB=B6=E4=BA=BA: Bret Barkelew >=20 =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2020=E5=B9=B411=E6=9C=8813=E6=97=A5 = 9:21 =E6=94=B6=E4=BB=B6=E4=BA=BA: gaoliming > =E6=8A=84=E9=80=81: edk2-devel-groups-io >; Laszlo Ersek >; Michael D Kinney > =E4=B8=BB=E9=A2=98: Re: [edk2-devel] [PATCH v9 00/13] Add the VariablePoli= cy feature =20 Looks like I should have everything I need on this patch set. Can I assume= that someone will stage it to make it into 2011-stable? =20 On Thu, Nov 12, 2020 at 8:45 AM Bret Barkelew > wrote: Yes, I'm working on a more sustainable solution for the test cases and hav= e opened this bug to track it. 3073 =E2=80=93 Pr= ovide test cases/apps for VarPol (tianocore.org) =20 I just didn't want that to hold up the rest of the code that's already bee= n signed off on. =20 On Thu, Nov 12, 2020 at 6:25 AM gaoliming > wrote: Bret: V9 version change is mainly for MdeModule Variable driver. The change is = good to me. Reviewed-by: Liming Gao > =20 Besides, I find V9 doesn=E2=80=99t include the patch 0014-MdeModulePkg-Ad= d-a-shell-based-functional-test-for-VariablePolicy. Because this patch does= n=E2=80=99t pass ECC, will you plan to add it later?=20 =20 Thanks Liming =E5=8F=91=E4=BB=B6=E4=BA=BA: bounce+27952+67296+4905953+8761045@groups.io = > =E4=BB=A3=E8=A1=A8 Bret Barkelew =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2020=E5=B9=B411=E6=9C=8812=E6=97=A5 = 2:44 =E6=94=B6=E4=BB=B6=E4=BA=BA: edk2-devel-groups-io > =E4=B8=BB=E9=A2=98: Re: [edk2-devel] [PATCH v9 00/13] Add the VariablePoli= cy feature =20 To clarify: =20 The current solution to the MorLock EndOfDxe issue is to expressly call Lo= ckVariablePolicy() in the same locations that mEndOfDxe is set (which was t= he mechanism that previously locked the VariableLock interface). This solut= ion maintains parity with the old design, which is keeping with the ethos o= f minimal changes and similar functionality to VariableLock. It does not in= troduce any new dependencies. =20 The only drawback to this approach is that it preserves the strict orderin= g that was also previously required by MorLock, which I will attempt to add= ress in later updates. =20 On Sun, Nov 8, 2020 at 10:45 PM Bret Barkelew > wrote: The 14 patches in this series add the VariablePolicy feature to the core, deprecate Edk2VarLock (while adding a compatibility layer to reduce code churn), and integrate the VariablePolicy libraries and protocols into Variable Services. Since the integration requires multiple changes, including adding librarie= s, a protocol, an SMI communication handler, and VariableServices integration= , the patches are broken up by individual library additions and then a final integration. Security-sensitive changes like bypassing Authenticated Variable enforcement are also broken out into individual patches so that attention can be called directly to them. Platform porting instructions are described in this wiki entry: https://github.com/tianocore/tianocore.github.io/wiki/VariablePolicy-Proto= col---Enhanced-Method-for-Managing-Variables#platform-porting Discussion of the feature can be found in multiple places throughout the last year on the RFC channel, staging branches, and in devel. Most recently, this subject was discussed in this thread: https://edk2.groups.io/g/devel/message/53712 (the code branches shared in that discussion are now out of date, but the whitepapers and discussion are relevant). Cc: Jiewen Yao > Cc: Dandan Bi > Cc: Chao Zhang > Cc: Jian J Wang > Cc: Hao A Wu > Cc: Liming Gao > Cc: Jordan Justen > Cc: Laszlo Ersek > Cc: Ard Biesheuvel = > Cc: Andrew Fish > Cc: Ray Ni > Cc: Bret Barkelew = > Signed-off-by: Bret Barkelew > v9 changes: * Rebase * Address the event ordering issues around MorLock at EndOfDxe * Drop problematic tests * Address ECC issues v8 changes: * Rebase * Small tweaks from final PRs * Drank a lot * Enrolled several members and a steward in CatFacts v7 changes: * Address comments from Dandan about security of the MM handler * Add readme * Fix bug around hex characters in BOOT####, etc * Add additional testing for hex characters * Add additional testing for authenticated variables v6 changes: * Fix an issue with uninitialized Status in InitVariablePolicyLib() and De= initVariablePolicyLib() * Fix GCC building in shell-based functional test * Rebase on latest origin/master v5 changes: * Fix the CONST mismatch in VariablePolicy.h and VariablePolicySmmDxe.c * Fix EFIAPI mismatches in the functional unittest * Rebase on latest origin/master v4 changes: * Remove Optional PcdAllowVariablePolicyEnforcementDisable PCD from platfo= rms * Rebase on master * Migrate to new MmCommunicate2 protocol * Fix an oversight in the default return value for InitMmCommonCommBuffer * Fix in VariablePolicyLib to allow ExtraInitRuntimeDxe to consume variabl= es V3 changes: * Address all non-unittest issues with ECC * Make additional style changes * Include section name in hunk headers in "ini-style" files * Remove requirement for the EdkiiPiSmmCommunicationsRegionTable driver (now allocates its own buffer) * Change names from VARIABLE_POLICY_PROTOCOL and gVariablePolicyProtocolGu= id to EDKII_VARIABLE_POLICY_PROTOCOL and gEdkiiVariablePolicyProtocolGuid * Fix GCC warning about initializing externs * Add UNI strings for new PCD * Add patches for ArmVirtPkg, OvmfXen, and UefiPayloadPkg * Reorder patches according to Liming's feedback about adding to platforms before changing variable driver V2 changes: * Fixed implementation for RuntimeDxe * Add PCD to block DisableVariablePolicy * Fix the DumpVariablePolicy pagination in SMM Bret Barkelew (13): MdeModulePkg: Define the VariablePolicy protocol interface MdeModulePkg: Define the VariablePolicyLib MdeModulePkg: Define the VariablePolicyHelperLib MdeModulePkg: Define the VarCheckPolicyLib and SMM interface OvmfPkg: Add VariablePolicy engine to OvmfPkg platform EmulatorPkg: Add VariablePolicy engine to EmulatorPkg platform ArmVirtPkg: Add VariablePolicy engine to ArmVirtPkg platform UefiPayloadPkg: Add VariablePolicy engine to UefiPayloadPkg platform MdeModulePkg: Connect VariablePolicy business logic to VariableServices MdeModulePkg: Allow VariablePolicy state to delete protected variables SecurityPkg: Allow VariablePolicy state to delete authenticated variables MdeModulePkg: Change TCG MOR variables to use VariablePolicy MdeModulePkg: Drop VarLock from RuntimeDxe variable driver MdeModulePkg/Library/VarCheckPolicyLib/VarCheckPolicyLib.c = | 346 ++++++++ MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.c = | 396 ++++++++++ MdeModulePkg/Library/VariablePolicyLib/VariablePolicyExtraInitNull.c = | 46 ++ MdeModulePkg/Library/VariablePolicyLib/VariablePolicyExtraInitRuntimeDxe.= c | 85 ++ MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.c = | 830 ++++++++++++++++++++ MdeModulePkg/Universal/Variable/RuntimeDxe/TcgMorLockDxe.c = | 52 +- MdeModulePkg/Universal/Variable/RuntimeDxe/TcgMorLockSmm.c = | 60 +- MdeModulePkg/Universal/Variable/RuntimeDxe/VarCheck.c = | 49 +- MdeModulePkg/Universal/Variable/RuntimeDxe/VariableDxe.c = | 60 ++ MdeModulePkg/Universal/Variable/RuntimeDxe/VariableLockRequestToLock.c = | 71 ++ MdeModulePkg/Universal/Variable/RuntimeDxe/VariablePolicySmmDxe.c = | 573 ++++++++++++++ MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.c = | 7 + MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.c = | 14 + SecurityPkg/Library/AuthVariableLib/AuthService.c = | 30 +- ArmVirtPkg/ArmVirt.dsc.inc = | 4 + EmulatorPkg/EmulatorPkg.dsc = | 3 + MdeModulePkg/Include/Guid/VarCheckPolicyMmi.h = | 54 ++ MdeModulePkg/Include/Library/VariablePolicyHelperLib.h = | 164 ++++ MdeModulePkg/Include/Library/VariablePolicyLib.h = | 207 +++++ MdeModulePkg/Include/Protocol/VariablePolicy.h = | 157 ++++ MdeModulePkg/Library/VarCheckPolicyLib/VarCheckPolicyLib.inf = | 42 + MdeModulePkg/Library/VarCheckPolicyLib/VarCheckPolicyLib.uni = | 12 + MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf = | 35 + MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.uni = | 12 + MdeModulePkg/Library/VariablePolicyLib/ReadMe.md = | 406 ++++++++++ MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf = | 48 ++ MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.uni = | 12 + MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf = | 51 ++ MdeModulePkg/MdeModulePkg.ci.yaml = | 4 +- MdeModulePkg/MdeModulePkg.dec = | 26 +- MdeModulePkg/MdeModulePkg.dsc = | 9 + MdeModulePkg/MdeModulePkg.uni = | 7 + MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf = | 5 + MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf = | 4 + MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf = | 11 + MdeModulePkg/Universal/Variable/RuntimeDxe/VariableStandaloneMm.inf = | 4 + OvmfPkg/OvmfPkgIa32.dsc = | 5 + OvmfPkg/OvmfPkgIa32X64.dsc = | 5 + OvmfPkg/OvmfPkgX64.dsc = | 5 + OvmfPkg/OvmfXen.dsc = | 4 + SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf = | 2 + UefiPayloadPkg/UefiPayloadPkgIa32.dsc = | 4 + UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc = | 4 + 43 files changed, 3845 insertions(+), 80 deletions(-) create mode 100644 MdeModulePkg/Library/VarCheckPolicyLib/VarCheckPolicyL= ib.c create mode 100644 MdeModulePkg/Library/VariablePolicyHelperLib/VariableP= olicyHelperLib.c create mode 100644 MdeModulePkg/Library/VariablePolicyLib/VariablePolicyE= xtraInitNull.c create mode 100644 MdeModulePkg/Library/VariablePolicyLib/VariablePolicyE= xtraInitRuntimeDxe.c create mode 100644 MdeModulePkg/Library/VariablePolicyLib/VariablePolicyL= ib.c create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/VariableLoc= kRequestToLock.c create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/VariablePol= icySmmDxe.c create mode 100644 MdeModulePkg/Include/Guid/VarCheckPolicyMmi.h create mode 100644 MdeModulePkg/Include/Library/VariablePolicyHelperLib.h create mode 100644 MdeModulePkg/Include/Library/VariablePolicyLib.h create mode 100644 MdeModulePkg/Include/Protocol/VariablePolicy.h create mode 100644 MdeModulePkg/Library/VarCheckPolicyLib/VarCheckPolicyL= ib.inf create mode 100644 MdeModulePkg/Library/VarCheckPolicyLib/VarCheckPolicyL= ib.uni create mode 100644 MdeModulePkg/Library/VariablePolicyHelperLib/VariableP= olicyHelperLib.inf create mode 100644 MdeModulePkg/Library/VariablePolicyHelperLib/VariableP= olicyHelperLib.uni create mode 100644 MdeModulePkg/Library/VariablePolicyLib/ReadMe.md create mode 100644 MdeModulePkg/Library/VariablePolicyLib/VariablePolicyL= ib.inf create mode 100644 MdeModulePkg/Library/VariablePolicyLib/VariablePolicyL= ib.uni create mode 100644 MdeModulePkg/Library/VariablePolicyLib/VariablePolicyL= ibRuntimeDxe.inf --=20 2.28.0.windows.1 =20 ------=_NextPart_000_005E_01D6BCC0.0D0DA8B0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable

Create PR https://github.com/tianocore/edk2/pull/1128 for this patch = set.

 <= /p>

=E5=8F=91=E4=BB=B6=E4=BA=BA: bounce+27952+67415+4905953+8761045@groups.io <bou= nce+27952+67415+4905953+8761045@groups.io> =E4=BB=A3=E8=A1=A8 = gaoliming
=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2020=E5=B9=B411=E6=9C=8813=E6=97=A5 10:05
=E6=94= =B6=E4=BB=B6=E4=BA=BA: 'B= ret Barkelew' <bret@corthon.com>
=E6=8A=84=E9=80=81:
'edk2-devel-groups-io' <de= vel@edk2.groups.io>; 'Laszlo Ersek' <lersek@redhat.com>; 'Michael = D Kinney' <michael.d.kinney@intel.com>
=E4=B8=BB=E9=A2= =98: =E5=9B=9E=E5= =A4=8D: [edk2-devel] [PATCH v9 00/13] Add the VariableP= olicy feature

=  

Bret:=

 Yes. I think this patch = set pass code review. If no objection, I will merge it next Monday.

 

Thanks

Liming=

=E5=8F=91=E4=BB=B6= =E4=BA=BA: Bret Barkelew <bret@corthon.com>
=E5=8F=91=E9=80= =81=E6=97=B6=E9=97=B4: 2020<= span style=3D'font-size:11.0pt;font-family:=E7=AD=89=E7=BA=BF'>=E5=B9=B411=E6=9C=8813=E6=97=A5 9:21
=E6=94=B6=E4=BB=B6=E4=BA=BA: gaoliming <gaoliming@byosoft.com.cn>
=E6=8A=84= = =E9=80=81: edk2-devel-gro= ups-io <devel@edk2.groups.io= >; Laszlo Ersek <lersek@redhat.c= om>; Michael D Kinney <michael.d.kinney@intel.com>
=E4=B8=BB=E9=A2=98: Re: [edk2-devel] [PATCH v9 00= /13] Add the VariablePolicy feature

 

<= p class=3DMsoNormal>Looks like I should have everything = I need on this patch set. Can I assume that someone will stage it to make i= t into 2011-stable?

 

On Thu, Nov 12, 2020 at 8:45 AM Bret Barkelew <bret@corthon.com> wrote:=

Y= es, I'm working on a more sustainable solution for the test cases and have = opened this bug to track it.
3073 =E2=80=93 Provide test cases/apps for VarPol (tianocore.org)

 

I just didn't want that to hold up the rest of the code that= 's already been signed off on.

 

On Thu, Nov 12, 2020 at 6:25 AM gaoliming = <gaoliming= @byosoft.com.cn> wrote:

Bret:

 V9 version change is mainly for MdeModule Variable driver. The = change is good to me. Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>

 

 Besides, I find V9 doesn=E2=80= =99t include the patch 0014-MdeModulePkg-Add-a-shell-ba= sed-functional-test-for-VariablePolicy. Because this patch doesn=E2= =80=99t pass ECC, will you plan to add it later?

 

Thanks

Liming

=E5=8F=91=E4=BB=B6=E4=BA=BA: bounce+27952+67296+4905953+876104= 5@groups.io <bounce+27952+67296+4905953+8761045@group= s.io> =E4=BB=A3=E8=A1=A8 Bret Barkelew
<= span style=3D'font-size:11.0pt;font-family:=E7=AD=89=E7=BA=BF'>=E5=8F=91=E9= = =80=81=E6=97=B6=E9=97=B4: 2020=E5=B9= = =B411=E6=9C=8812=E6=97= = =A5 2:44
=E6=94=B6=E4=BB=B6=E4=BA=BA: edk2-devel-groups-io <devel@edk2.groups.io>
=E4=B8=BB=E9=A2=98: Re: [edk2-devel] [PATCH v9 00/13] Add the VariablePolicy feat= ure

 

 

On Sun, No= v 8, 2020 at 10:45 PM Bret Barkelew <bret@corthon.com> wrote:

The 14 patches in this series add the = VariablePolicy feature to the core,
deprecate Edk2VarLock (while adding = a compatibility layer to reduce code
churn), and integrate the VariableP= olicy libraries and protocols into
Variable Services.

Since the i= ntegration requires multiple changes, including adding libraries,
a prot= ocol, an SMI communication handler, and VariableServices integration,
th= e patches are broken up by individual library additions and then a finalintegration. Security-sensitive changes like bypassing Authenticated
Va= riable enforcement are also broken out into individual patches so that
a= ttention can be called directly to them.

Platform porting instructio= ns are described in this wiki entry:
https://github.com/= tianocore/tianocore.github.io/wiki/VariablePolicy-Protocol---Enhanced-Metho= d-for-Managing-Variables#platform-porting

Discussion of the feat= ure can be found in multiple places throughout
the last year on the RFC = channel, staging branches, and in devel.

Most recently, this subject= was discussed in this thread:
https://edk2.groups.io/g/devel/message/53= 712
(the code branches shared in that discussion are now out of date= , but the
whitepapers and discussion are relevant).

Cc: Jiewen Ya= o <jiewen.yao@= intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Chao Zhang <chao.b.zhang@intel.= com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>= ;
Cc: Liming Gao <liming.gao@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com<= /a>>
Cc: Laszlo Ersek <
lersek@redhat.com>
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Cc: Andrew Fish <
afish@apple.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Bret Barkelew &= lt;brbarkel@mic= rosoft.com>
Signed-off-by: Bret Barkelew <brbarkel@microsoft.com>
<= br>v9 changes:
* Rebase
* Address the event ordering issues around Mo= rLock at EndOfDxe
* Drop problematic tests
* Address ECC issues
v8 changes:
* Rebase
* Small tweaks from final PRs
* Drank a lot=
* Enrolled several members and a steward in CatFacts

v7 changes:=
* Address comments from Dandan about security of the MM handler
* Ad= d readme
* Fix bug around hex characters in BOOT####, etc
* Add addit= ional testing for hex characters
* Add additional testing for authentica= ted variables

v6 changes:
* Fix an issue with uninitialized Statu= s in InitVariablePolicyLib() and DeinitVariablePolicyLib()
* Fix GCC bui= lding in shell-based functional test
* Rebase on latest origin/master
v5 changes:
* Fix the CONST mismatch in VariablePolicy.h and Variab= lePolicySmmDxe.c
* Fix EFIAPI mismatches in the functional unittest
*= Rebase on latest origin/master

v4 changes:
* Remove Optional Pcd= AllowVariablePolicyEnforcementDisable PCD from platforms
* Rebase on mas= ter
* Migrate to new MmCommunicate2 protocol
* Fix an oversight in th= e default return value for InitMmCommonCommBuffer
* Fix in VariablePolic= yLib to allow ExtraInitRuntimeDxe to consume variables

V3 changes:* Address all non-unittest issues with ECC
* Make additional style cha= nges
* Include section name in hunk headers in "ini-style" fil= es
* Remove requirement for the EdkiiPiSmmCommunicationsRegionTable driv= er
  (now allocates its own buffer)
* Change names from VARIABLE= _POLICY_PROTOCOL and gVariablePolicyProtocolGuid
  to EDKII_VARIABL= E_POLICY_PROTOCOL and gEdkiiVariablePolicyProtocolGuid
* Fix GCC warning= about initializing externs
* Add UNI strings for new PCD
* Add patch= es for ArmVirtPkg, OvmfXen, and UefiPayloadPkg
* Reorder patches accordi= ng to Liming's feedback about adding to platforms
  before changing= variable driver

V2 changes:
* Fixed implementation for RuntimeDx= e
* Add PCD to block DisableVariablePolicy
* Fix the DumpVariablePoli= cy pagination in SMM

Bret Barkelew (13):
  MdeModulePkg: Def= ine the VariablePolicy protocol interface
  MdeModulePkg: Define th= e VariablePolicyLib
  MdeModulePkg: Define the VariablePolicyHelper= Lib
  MdeModulePkg: Define the VarCheckPolicyLib and SMM interface<= br>  OvmfPkg: Add VariablePolicy engine to OvmfPkg platform
  = EmulatorPkg: Add VariablePolicy engine to EmulatorPkg platform
  Ar= mVirtPkg: Add VariablePolicy engine to ArmVirtPkg platform
  UefiPa= yloadPkg: Add VariablePolicy engine to UefiPayloadPkg platform
  Md= eModulePkg: Connect VariablePolicy business logic to
    Varia= bleServices
  MdeModulePkg: Allow VariablePolicy state to delete pr= otected variables
  SecurityPkg: Allow VariablePolicy state to dele= te authenticated
    variables
  MdeModulePkg: Change = TCG MOR variables to use VariablePolicy
  MdeModulePkg: Drop VarLoc= k from RuntimeDxe variable driver

 MdeModulePkg/Library/VarChec= kPolicyLib/VarCheckPolicyLib.c            &nb= sp;    | 346 ++++++++
 MdeModulePkg/Library/VariablePolic= yHelperLib/VariablePolicyHelperLib.c     | 396 ++++++++++ MdeModulePkg/Library/VariablePolicyLib/VariablePolicyExtraInitNull.c=        |  46 ++
 MdeModulePkg/Library/Vari= ablePolicyLib/VariablePolicyExtraInitRuntimeDxe.c |  85 ++
 Md= eModulePkg/Library/VariablePolicyLib/VariablePolicyLib.c     = ;            | 830 ++++++++++++++++++++
&n= bsp;MdeModulePkg/Universal/Variable/RuntimeDxe/TcgMorLockDxe.c   =              |  52 +-
 Mde= ModulePkg/Universal/Variable/RuntimeDxe/TcgMorLockSmm.c     =            |  60 +-
 MdeModuleP= kg/Universal/Variable/RuntimeDxe/VarCheck.c        &nbs= p;             |  49 +-
 MdeModu= lePkg/Universal/Variable/RuntimeDxe/VariableDxe.c       = ;            |  60 ++
 MdeModule= Pkg/Universal/Variable/RuntimeDxe/VariableLockRequestToLock.c    =  |  71 ++
 MdeModulePkg/Universal/Variable/RuntimeDxe/Var= iablePolicySmmDxe.c          | 573 ++++++++++++++<= br> MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.c  &nb= sp;                |   7 = +
 MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe= .c         |  14 +
 SecurityPkg/Libra= ry/AuthVariableLib/AuthService.c            &= nbsp;             |  30 +-
 ArmV= irtPkg/ArmVirt.dsc.inc              &nbs= p;                     &n= bsp;            |   4 +
 Em= ulatorPkg/EmulatorPkg.dsc              &= nbsp;                    =             |   3 +
 MdeMo= dulePkg/Include/Guid/VarCheckPolicyMmi.h          =                     |&nbs= p; 54 ++
 MdeModulePkg/Include/Library/VariablePolicyHelperLib.h&nb= sp;                    | = 164 ++++
 MdeModulePkg/Include/Library/VariablePolicyLib.h  &n= bsp;                     =    | 207 +++++
 MdeModulePkg/Include/Protocol/VariablePol= icy.h                    =          | 157 ++++
 MdeModulePkg/Library/= VarCheckPolicyLib/VarCheckPolicyLib.inf          &= nbsp;    |  42 +
 MdeModulePkg/Library/VarCheckPolic= yLib/VarCheckPolicyLib.uni              =  |  12 +
 MdeModulePkg/Library/VariablePolicyHelperLib/Va= riablePolicyHelperLib.inf   |  35 +
 MdeModulePkg/Li= brary/VariablePolicyHelperLib/VariablePolicyHelperLib.uni   |&nbs= p; 12 +
 MdeModulePkg/Library/VariablePolicyLib/ReadMe.md  &nb= sp;                     &= nbsp;  | 406 ++++++++++
 MdeModulePkg/Library/VariablePolicyLi= b/VariablePolicyLib.inf              &nb= sp;|  48 ++
 MdeModulePkg/Library/VariablePolicyLib/VariablePo= licyLib.uni               |  1= 2 +
 MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntim= eDxe.inf     |  51 ++
 MdeModulePkg/MdeModulePk= g.ci.yaml                  &nb= sp;                     &= nbsp; |   4 +-
 MdeModulePkg/MdeModulePkg.dec   = ;                     &nb= sp;                     |=   26 +-
 MdeModulePkg/MdeModulePkg.dsc      &nb= sp;                     &= nbsp;                 |   = ;9 +
 MdeModulePkg/MdeModulePkg.uni        &nbs= p;                     &n= bsp;               |   7 +
=  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf&nbs= p;         |   5 +
 MdeModulePkg/Univ= ersal/Variable/RuntimeDxe/VariableSmm.inf         =        |   4 +
 MdeModulePkg/Univers= al/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf       = |  11 +
 MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSt= andaloneMm.inf        |   4 +
 OvmfPk= g/OvmfPkgIa32.dsc                &n= bsp;                     =               |   5 +
 = ;OvmfPkg/OvmfPkgIa32X64.dsc             =                     &nbs= p;              |   5 +
&nb= sp;OvmfPkg/OvmfPkgX64.dsc              &= nbsp;                    =                  |  &nbs= p;5 +
 OvmfPkg/OvmfXen.dsc           =                     &nbs= p;                     &n= bsp; |   4 +
 SecurityPkg/Library/AuthVariableLib/AuthVar= iableLib.inf                  =   |   2 +
 UefiPayloadPkg/UefiPayloadPkgIa32.dsc&nbs= p;                     &n= bsp;               |   4 +
=  UefiPayloadPkg/UefiPayloadPkgIa32X64.dsc        &= nbsp;                    =      |   4 +
 43 files changed, 3845 inse= rtions(+), 80 deletions(-)
 create mode 100644 MdeModulePkg/Library= /VarCheckPolicyLib/VarCheckPolicyLib.c
 create mode 100644 MdeModul= ePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.c
 cre= ate mode 100644 MdeModulePkg/Library/VariablePolicyLib/VariablePolicyExtraI= nitNull.c
 create mode 100644 MdeModulePkg/Library/VariablePolicyLi= b/VariablePolicyExtraInitRuntimeDxe.c
 create mode 100644 MdeModule= Pkg/Library/VariablePolicyLib/VariablePolicyLib.c
 create mode 1006= 44 MdeModulePkg/Universal/Variable/RuntimeDxe/VariableLockRequestToLock.c create mode 100644 MdeModulePkg/Universal/Variable/RuntimeDxe/Varia= blePolicySmmDxe.c
 create mode 100644 MdeModulePkg/Include/Guid/Var= CheckPolicyMmi.h
 create mode 100644 MdeModulePkg/Include/Library/V= ariablePolicyHelperLib.h
 create mode 100644 MdeModulePkg/Include/L= ibrary/VariablePolicyLib.h
 create mode 100644 MdeModulePkg/Include= /Protocol/VariablePolicy.h
 create mode 100644 MdeModulePkg/Library= /VarCheckPolicyLib/VarCheckPolicyLib.inf
 create mode 100644 MdeMod= ulePkg/Library/VarCheckPolicyLib/VarCheckPolicyLib.uni
 create mode= 100644 MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLi= b.inf
 create mode 100644 MdeModulePkg/Library/VariablePolicyHelper= Lib/VariablePolicyHelperLib.uni
 create mode 100644 MdeModulePkg/Li= brary/VariablePolicyLib/ReadMe.md
 create mode 100644 MdeModulePkg/= Library/VariablePolicyLib/VariablePolicyLib.inf
 create mode 100644= MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.uni
 crea= te mode 100644 MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRunt= imeDxe.inf

--
2.28.0.windows.1

 

------=_NextPart_000_005E_01D6BCC0.0D0DA8B0--