From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by mx.groups.io with SMTP id smtpd.web08.3119.1627468759704113633 for ; Wed, 28 Jul 2021 03:39:19 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=uIyEtNVL; spf=pass (domain: kernel.org, ip: 198.145.29.99, mailfrom: ardb@kernel.org) Received: by mail.kernel.org (Postfix) with ESMTPSA id 26C5C60FC2 for ; Wed, 28 Jul 2021 10:39:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1627468759; bh=dbVDg3wQx1JiyDebIe2xY/RBTXpnjV/y7Oz1Navr+80=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=uIyEtNVLs7lfs8g9d63BDTrr6o5RnMzBXyVA7oA1M1OdGhi5IcxSsg96Wf5Mv8sBZ E44Cf0Cb2o/pxRtyAaKOgdV4CfjfWBEU1bDZyoJAZ945zzr07QaYmuXmenufcjFCQP jHwwM8dVzS47ZR0ZP9zOOiMp+xaBHL5iQDFDUUFpVf/vXmL5YdEMLDGgvOJI07hoYJ htYDMdMER8h/rcKOCLRzZRmkoqVDsZDtiTC36gw5nEisAQGo3IZCHXRdxWlKXne7KY o1sVk0Av6xWqOP3DfhAdCXf7yWGfCLHLB6Gf4nBPMEFeEdOdfbsbSbK+5UiA8Qfgg0 gb3rRNioY80OA== Received: by mail-oi1-f182.google.com with SMTP id x15so3160080oic.9 for ; Wed, 28 Jul 2021 03:39:19 -0700 (PDT) X-Gm-Message-State: AOAM532hIGD7mtM2CBA6kc9gwWP9qff+Pia6iLvcruiobDU+bw9Y7avn CNNKkIarGW2JybrDLi7epKUZPv4hkSqjOh2Q6So= X-Google-Smtp-Source: ABdhPJyutCGkVUlGSde2IdpeMDy/4ZkcaUlopJqgTGvaTcbG83ueGvPrqaLVeJ6g8/xQfSWhrnVAKAFFjilmZyy9S8w= X-Received: by 2002:aca:d64d:: with SMTP id n74mr6115904oig.47.1627468758534; Wed, 28 Jul 2021 03:39:18 -0700 (PDT) MIME-Version: 1.0 References: <20210714122952.1340890-1-gjb@semihalf.com> <020201d78384$57add210$07097630$@byosoft.com.cn> In-Reply-To: <020201d78384$57add210$07097630$@byosoft.com.cn> From: "Ard Biesheuvel" Date: Wed, 28 Jul 2021 12:39:07 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [edk2-devel] [PATCH v6 00/11] Secure Boot default keys To: edk2-devel-groups-io , "Liming Gao (Byosoft address)" Cc: Sunny Wang , Samer El-Haj-Mahmoud , Grzegorz Bernacki , Ard Biesheuvel , Ray Ni , Leif Lindholm , Marcin Wojtas , upstream@semihalf.com, Jiewen Yao , Jian J Wang , Min Xu , Laszlo Ersek , Sami Mujawar , Andrew Fish , Jordan Justen , Rebecca Cran , Peter Grehan , Thomas Abraham , Chasel Chiu , Nate DeSimone , Eric Dong , Michael Kinney , zailiang.sun@intel.com, yi.qian@intel.com, Graeme Gregory , Radoslaw Biernacki , Peter Batard Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, 28 Jul 2021 at 09:44, gaoliming wrote: > > Sunny: > Yes. This patch set is ready to be merged. > > Samer: > Would you help merge this patch set? > I can pick it up if you could please create the release notes entry? Thank= s. > Thanks > Liming > > -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- > > =E5=8F=91=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io =E4=BB=A3=E8=A1=A8 Sunny Wang > > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2021=E5=B9=B47=E6=9C=8821=E6=97= =A5 11:41 > > =E6=94=B6=E4=BB=B6=E4=BA=BA: Samer El-Haj-Mahmoud ; > > devel@edk2.groups.io; gjb@semihalf.com; Ard Biesheuvel > > ; gaoliming@byosoft.com.cn; ray.ni@intel.co= m > > =E6=8A=84=E9=80=81: leif@nuviainc.com; mw@semihalf.com; upstream@semih= alf.com; > > jiewen.yao@intel.com; jian.j.wang@intel.com; min.m.xu@intel.com; > > lersek@redhat.com; Sami Mujawar ; > > afish@apple.com; jordan.l.justen@intel.com; rebecca@bsdio.com; > > grehan@freebsd.org; Thomas Abraham ; > > chasel.chiu@intel.com; nathaniel.l.desimone@intel.com; > > eric.dong@intel.com; michael.d.kinney@intel.com; zailiang.sun@intel.co= m; > > yi.qian@intel.com; graeme@nuviainc.com; rad@semihalf.com; pete@akeo.ie= ; > > Sunny Wang > > =E4=B8=BB=E9=A2=98: Re: [edk2-devel] [PATCH v6 00/11] Secure Boot defa= ult keys > > > > Ard, Liming, Ray, Thanks for your review for ArmVirtPkg, ArmPlatformPk= g, > and > > EmulatorPkg patches. > > > > As for the patch for Intel Platforms below, it is in another series fo= r > > edk2-platforms. > > - [edk2-platforms PATCH v6 1/4] Intel Platforms: add > > SecureBootVariableLib class resolution > > https://edk2.groups.io/g/devel/message/77781 > > > > Therefore, I think this series already got all the necessary Reviewed-= By > and > > Acked-By of all parts and is ready to be pushed now. > > > > Best Regards, > > Sunny Wang > > > > -----Original Message----- > > From: Samer El-Haj-Mahmoud > > Sent: Friday, July 16, 2021 8:00 PM > > To: devel@edk2.groups.io; gjb@semihalf.com > > Cc: leif@nuviainc.com; ardb+tianocore@kernel.org; Sunny Wang > > ; mw@semihalf.com; upstream@semihalf.com; > > jiewen.yao@intel.com; jian.j.wang@intel.com; min.m.xu@intel.com; > > lersek@redhat.com; Sami Mujawar ; > > afish@apple.com; ray.ni@intel.com; jordan.l.justen@intel.com; > > rebecca@bsdio.com; grehan@freebsd.org; Thomas Abraham > > ; chasel.chiu@intel.com; > > nathaniel.l.desimone@intel.com; gaoliming@byosoft.com.cn; > > eric.dong@intel.com; michael.d.kinney@intel.com; zailiang.sun@intel.co= m; > > yi.qian@intel.com; graeme@nuviainc.com; rad@semihalf.com; pete@akeo.ie= ; > > Samer El-Haj-Mahmoud > > Subject: RE: [edk2-devel] [PATCH v6 00/11] Secure Boot default keys > > > > The v6 of this series seems to have all the necessary Reviewed-By (and > some > > Tested-By) of all parts, except the following platform specific parts. > Could we > > get help from maintainers to review these please? > > > > Much appreciated! > > > > - ArmVirtPkg : https://edk2.groups.io/g/devel/message/77772 > > - ArmPlatformPkg: https://edk2.groups.io/g/devel/message/77775 > > - EmulatorPkg: https://edk2.groups.io/g/devel/message/77773 > > - Intel Platforms (Platform/Intel/QuarkPlatformPkg, > > Platform/Intel/MinPlatformPkg, Platform/Intel/Vlv2TbltDevicePkg): > > https://edk2.groups.io/g/devel/message/77781 > > > > Thanks, > > --Samer > > > > > > > > > > > > > -----Original Message----- > > > From: devel@edk2.groups.io On Behalf Of > > > Grzegorz Bernacki via groups.io > > > Sent: Wednesday, July 14, 2021 8:30 AM > > > To: devel@edk2.groups.io > > > Cc: leif@nuviainc.com; ardb+tianocore@kernel.org; Samer > > El-Haj-Mahmoud > > > ; Sunny Wang > > > ; mw@semihalf.com; upstream@semihalf.com; > > > jiewen.yao@intel.com; jian.j.wang@intel.com; min.m.xu@intel.com; > > > lersek@redhat.com; Sami Mujawar ; > > > afish@apple.com; ray.ni@intel.com; jordan.l.justen@intel.com; > > > rebecca@bsdio.com; grehan@freebsd.org; Thomas Abraham > > > ; chasel.chiu@intel.com; > > > nathaniel.l.desimone@intel.com; gaoliming@byosoft.com.cn; > > > eric.dong@intel.com; michael.d.kinney@intel.com; zailiang.sun@intel.= com; > > > yi.qian@intel.com; graeme@nuviainc.com; rad@semihalf.com; > > > pete@akeo.ie; Grzegorz Bernacki > > > Subject: [edk2-devel] [PATCH v6 00/11] Secure Boot default keys > > > > > > This patchset adds support for initialization of default > > > Secure Boot variables based on keys content embedded in > > > flash binary. This feature is active only if Secure Boot > > > is enabled and DEFAULT_KEY is defined. The patchset > > > consist also application to enroll keys from default > > > variables and secure boot menu change to allow user > > > to reset key content to default values. > > > Discussion on design can be found at: > > > https://edk2.groups.io/g/rfc/topic/82139806#600 > > > > > > Built with: > > > GCC > > > - RISC-V (U500, U540) [requires fixes in dsc to build] > > > - Intel (Vlv2TbltDevicePkg (X64/IA32), Quark, MinPlatformPkg, > > > EmulatorPkg (X64), Bhyve, OvmfPkg (X64/IA32)) > > > - ARM (Sgi75,SbsaQemu,DeveloperBox, RPi3/RPi4) > > > > > > RISC-V, Quark, Vlv2TbltDevicePkg, Bhyve requires additional fixes to= be > > built, > > > will be post on edk2 maillist later > > > > > > VS2019 > > > - Intel (OvmfPkgX64) > > > > > > Test with: > > > GCC5/RPi4 > > > VS2019/OvmfX64 (requires changes to enable feature) > > > > > > Tests: > > > 1. Try to enroll key in incorrect format. > > > 2. Enroll with only PKDefault keys specified. > > > 3. Enroll with all keys specified. > > > 4. Enroll when keys are enrolled. > > > 5. Reset keys values. > > > 6. Running signed & unsigned app after enrollment. > > > > > > Changes since v1: > > > - change names: > > > SecBootVariableLib =3D> SecureBootVariableLib > > > SecBootDefaultKeysDxe =3D> SecureBootDefaultKeysDxe > > > SecEnrollDefaultKeysApp =3D> EnrollFromDefaultKeysApp > > > - change name of function CheckSetupMode to GetSetupMode > > > - remove ShellPkg dependecy from EnrollFromDefaultKeysApp > > > - rebase to master > > > > > > Changes since v2: > > > - fix coding style for functions headers in SecureBootVariableLib.h > > > - add header to SecureBootDefaultKeys.fdf.inc > > > - remove empty line spaces in SecureBootDefaultKeysDxe files > > > - revert FAIL macro in EnrollFromDefaultKeysApp > > > - remove functions duplicates and add SecureBootVariableLib > > > to platforms which used it > > > > > > Changes since v3: > > > - move SecureBootDefaultKeys.fdf.inc to ArmPlatformPkg > > > - leave duplicate of CreateTimeBasedPayload in PlatformVarCleanupLib > > > - fix typo in guid description > > > > > > Changes since v4: > > > - reorder patches to make it bisectable > > > - split commits related to more than one platform > > > - move edk2-platform commits to separate patchset > > > > > > Changes since v5: > > > - split SecureBootVariableLib into SecureBootVariableLib and > > > SecureBootVariableProvisionLib > > > > > > Grzegorz Bernacki (11): > > > SecurityPkg: Create SecureBootVariableLib. > > > SecurityPkg: Create library for enrolling Secure Boot variables. > > > ArmVirtPkg: add SecureBootVariableLib class resolution > > > OvmfPkg: add SecureBootVariableLib class resolution > > > EmulatorPkg: add SecureBootVariableLib class resolution > > > SecurityPkg: Remove duplicated functions from SecureBootConfigDxe. > > > ArmPlatformPkg: Create include file for default key content. > > > SecurityPkg: Add SecureBootDefaultKeysDxe driver > > > SecurityPkg: Add EnrollFromDefaultKeys application. > > > SecurityPkg: Add new modules to Security package. > > > SecurityPkg: Add option to reset secure boot keys. > > > > > > SecurityPkg/SecurityPkg.dec > > | 14 + > > > ArmVirtPkg/ArmVirt.dsc.inc > > | 2 + > > > EmulatorPkg/EmulatorPkg.dsc > > | 2 + > > > OvmfPkg/Bhyve/BhyveX64.dsc > > | 2 + > > > OvmfPkg/OvmfPkgIa32.dsc > > | 2 + > > > OvmfPkg/OvmfPkgIa32X64.dsc > > | 2 + > > > OvmfPkg/OvmfPkgX64.dsc > > | 2 + > > > SecurityPkg/SecurityPkg.dsc > > | 5 + > > > SecurityPkg/EnrollFromDefaultKeysApp/EnrollFromDefaultKeysApp.inf > > > | 48 ++ > > > SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.inf > > > | 80 +++ > > > > > > > > SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableP= ro > > > visionLib.inf | 80 +++ > > > > > > SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConf= i > > > gDxe.inf | 3 + > > > > > > SecurityPkg/VariableAuthenticated/SecureBootDefaultKeysDxe/SecureBoo= t > > > DefaultKeysDxe.inf | 46 ++ > > > SecurityPkg/Include/Library/SecureBootVariableLib.h > > | 153 > > > ++++++ > > > SecurityPkg/Include/Library/SecureBootVariableProvisionLib.h > > > | 134 +++++ > > > > > > SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConf= i > > > gNvData.h | 2 + > > > > > > SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConf= i > > > g.vfr | 6 + > > > SecurityPkg/EnrollFromDefaultKeysApp/EnrollFromDefaultKeysApp.c > > > | 110 +++++ > > > SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.c > > > | 511 ++++++++++++++++++++ > > > > > > > > SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableP= ro > > > visionLib.c | 491 +++++++++++++++++++ > > > > > > SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConf= i > > > gImpl.c | 344 ++++++------- > > > > > > SecurityPkg/VariableAuthenticated/SecureBootDefaultKeysDxe/SecureBoo= t > > > DefaultKeysDxe.c | 69 +++ > > > ArmPlatformPkg/SecureBootDefaultKeys.fdf.inc > > | 70 > > > +++ > > > SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.uni > > > | 17 + > > > > > > > > SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableP= ro > > > visionLib.uni | 16 + > > > > > > SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConf= i > > > gStrings.uni | 4 + > > > > > > SecurityPkg/VariableAuthenticated/SecureBootDefaultKeysDxe/SecureBoo= t > > > DefaultKeysDxe.uni | 16 + > > > 27 files changed, 2043 insertions(+), 188 deletions(-) > > > create mode 100644 > > > SecurityPkg/EnrollFromDefaultKeysApp/EnrollFromDefaultKeysApp.inf > > > create mode 100644 > > > SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.inf > > > create mode 100644 > > > > > SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableP= ro > > > visionLib.inf > > > create mode 100644 > > > SecurityPkg/VariableAuthenticated/SecureBootDefaultKeysDxe/SecureBoo= t > > > DefaultKeysDxe.inf > > > create mode 100644 > > SecurityPkg/Include/Library/SecureBootVariableLib.h > > > create mode 100644 > > > SecurityPkg/Include/Library/SecureBootVariableProvisionLib.h > > > create mode 100644 > > > SecurityPkg/EnrollFromDefaultKeysApp/EnrollFromDefaultKeysApp.c > > > create mode 100644 > > > SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.c > > > create mode 100644 > > > > > SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableP= ro > > > visionLib.c > > > create mode 100644 > > > SecurityPkg/VariableAuthenticated/SecureBootDefaultKeysDxe/SecureBoo= t > > > DefaultKeysDxe.c > > > create mode 100644 ArmPlatformPkg/SecureBootDefaultKeys.fdf.inc > > > create mode 100644 > > > SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.uni > > > create mode 100644 > > > > > SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableP= ro > > > visionLib.uni > > > create mode 100644 > > > SecurityPkg/VariableAuthenticated/SecureBootDefaultKeysDxe/SecureBoo= t > > > DefaultKeysDxe.uni > > > > > > -- > > > 2.25.1 > > > > > > > > > > > > > > > > > > > > > IMPORTANT NOTICE: The contents of this email and any attachments are > > confidential and may also be privileged. If you are not the intended > recipient, > > please notify the sender immediately and do not disclose the contents = to > any > > other person, use it for any purpose, or store or copy the information= in > any > > medium. Thank you. > > > > > > > > > > > > > >=20 > >