From: "Kun Qin" <kuqin12@gmail.com>
To: pierre.gondois@arm.com, devel@edk2.groups.io
Cc: Michael D Kinney <michael.d.kinney@intel.com>,
Liming Gao <gaoliming@byosoft.com.cn>,
Zhiguang Liu <zhiguang.liu@intel.com>,
Jiewen Yao <jiewen.yao@intel.com>,
Jian J Wang <jian.j.wang@intel.com>,
Ard Biesheuvel <ardb+tianocore@kernel.org>,
Sami Mujawar <sami.mujawar@arm.com>,
Jose Marinho <Jose.Marinho@arm.com>
Subject: Re: [edk2-devel] [PATCH v5 0/9] SecurityPkg/MdePkg: Update RngLib GUID identification
Date: Thu, 20 Jul 2023 11:03:32 -0700 [thread overview]
Message-ID: <ca3ba01f-0667-08ca-05c6-efbd7c775e92@gmail.com> (raw)
In-Reply-To: <20230718115156.1224842-1-pierre.gondois@arm.com>
Hi Pierre,
Thanks for sending this update. I tested the v5 patch series and
verified it booted
to Windows.
Tested-by: Kun Qin <kun.qin@microsoft.com>
Regards,
Kun
On 7/18/2023 4:51 AM, pierre.gondois@arm.com wrote:
> From: Pierre Gondois <pierre.gondois@arm.com>
>
> v5:
> - Let an implementation of BaseRngLibTimer in MdePkg to give some
> time to platform owners to use the MdeModulePkg implementation. [4]
> - New patch:
> - [2/8] MdePkg: Add deprecated warning to BaseRngLibTimer
>
> v4:
> - New patches:
> - [1/8] MdePkg: Move BaseRngLibTimerLib to MdeModulePkg
> - [5/8] MdeModulePkg/Rng: Add GUID to describe unsafe Rng algorithms
> - This patch-set now requires to be accepted along an edk-platforms patch
> moving the BaseRngLibTimerLib to MdeModulePkg
>
> v3:
> - As the unsafe algorithm GUID will not be added to the UEFI
> specification, rename:
> - gEfiRngAlgorithmUnSafe to gEdkiiRngAlgorithmUnSafe
> - EFI_RNG_ALGORITHM_UNSAFE to EDKII_RNG_ALGORITHM_UNSAFE
>
> v2:
> [1/8] MdePkg/ArmTrngLib: Remove ASSERTs in Null implementation
> - Dropped
> [2/8] MdePkg/MdePkg.dec: Move PcdCpuRngSupportedAlgorithm to MdePkg
> - Change gEfiMdePkgTokenSpaceGuid.PcdCpuRngSupportedAlgorithm
> token number
> - Rename to SecurityPkg/SecurityPkg.dec: Move
> PcdCpuRngSupportedAlgorithm to MdePkg
> [5/8] MdePkg/Rng: Add GetRngGuid() to RngLib
> - Remove gEfiRngAlgorithmUnSafe from inf file
> - Split Guids definitions in arch specific sections
> [6/8] SecurityPkg/RngDxe: Use GetRngGuid() when probing RngLib
> - Remove RngFindDefaultAlgo() and change logic accordingly.
> [7/8] SecurityPkg/RngDxe: Select safe default Rng algorithm
> - Dropped due to changes in [6/8]
>
> This patch also requires the following patch on top of the serie:
> - https://edk2.groups.io/g/devel/message/106546
>
> This patchset follows the 'code first' approach and relates to [1].
> This patchset follows the thread at [3] that aims to solve [2].
> [1] and [2] are bound and this patchset aims to solve both.
>
> In this patchset:
> a-
> The RngDxe can rely on the RngLib. However the RngLib has no
> interface allowing to describe which Rng algorithm is implemented.
> The RngDxe must advertise the algorithm that are available through
> the RngGetInfo() callback.
> Add a GetRngGuid() for interface to the RngLib.
>
> b-
> The Arm Architecture states the RNDR that the DRBG algorithm should
> be compliant with NIST SP800-90A, while not mandating a particular
> algorithm, so as to be inclusive of different geographies.
> The RngLib can rely on this Arm RNDR instruction. In order to
> accurately describe the implementation using the RNDR instruction,
> add a EFI_RNG_ALGORITHM_ARM_RNDR GUID [1].
>
> c-
> For the same reason as a/b, add a GUID describing unsafe RNG
> algorithms, allowing to accurately describe the BaseRngLibTimerLib.
>
> d-
> Use a/b/c mechanisms/GUIDs to select a safe Rng algorithm in the
> Arm implementation of the RngDxe.
>
> [1] BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4441
> [2] BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4151
> [3] https://edk2.groups.io/g/devel/message/100806
> [4] BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4504
>
> Pierre Gondois (9):
> MdeModulePkg: Duplicate BaseRngLibTimerLib to MdeModulePkg
> MdePkg: Add deprecated warning to BaseRngLibTimer
> SecurityPkg/SecurityPkg.dec: Move PcdCpuRngSupportedAlgorithm to
> MdePkg
> MdePkg/DxeRngLib: Request raw algorithm instead of default
> MdePkg/Rng: Add GUID to describe Arm Rndr Rng algorithms
> MdeModulePkg/Rng: Add GUID to describe unsafe Rng algorithms
> MdePkg/Rng: Add GetRngGuid() to RngLib
> SecurityPkg/RngDxe: Use GetRngGuid() when probing RngLib
> SecurityPkg/RngDxe: Simplify Rng algorithm selection for Arm
>
> ArmVirtPkg/ArmVirt.dsc.inc | 2 +-
> EmulatorPkg/EmulatorPkg.dsc | 2 +-
> MdeModulePkg/Include/Guid/RngAlgorithm.h | 23 ++++++++
> .../BaseRngLibTimerLib/BaseRngLibTimerLib.inf | 6 +-
> .../BaseRngLibTimerLib/BaseRngLibTimerLib.uni | 15 +++++
> .../Library/BaseRngLibTimerLib/RngLibTimer.c | 28 ++++++++++
> MdeModulePkg/MdeModulePkg.dec | 3 +
> MdeModulePkg/MdeModulePkg.dsc | 1 +
> MdePkg/Include/Library/RngLib.h | 17 ++++++
> MdePkg/Include/Protocol/Rng.h | 10 ++++
> MdePkg/Library/BaseRngLib/AArch64/Rndr.c | 42 ++++++++++++++
> MdePkg/Library/BaseRngLib/BaseRngLib.inf | 10 ++++
> MdePkg/Library/BaseRngLib/Rand/RdRand.c | 26 +++++++++
> .../Library/BaseRngLibNull/BaseRngLibNull.c | 22 ++++++++
> .../BaseRngLibTimerLib/BaseRngLibTimerLib.inf | 1 +
> .../Library/BaseRngLibTimerLib/RngLibTimer.c | 45 +++++++++++++++
> MdePkg/Library/DxeRngLib/DxeRngLib.c | 36 +++++++++++-
> MdePkg/MdePkg.dec | 6 ++
> NetworkPkg/NetworkPkg.dsc | 4 +-
> OvmfPkg/AmdSev/AmdSevX64.dsc | 2 +-
> OvmfPkg/Bhyve/BhyveX64.dsc | 2 +-
> OvmfPkg/CloudHv/CloudHvX64.dsc | 2 +-
> OvmfPkg/IntelTdx/IntelTdxX64.dsc | 2 +-
> OvmfPkg/Microvm/MicrovmX64.dsc | 2 +-
> OvmfPkg/OvmfPkgIa32.dsc | 2 +-
> OvmfPkg/OvmfPkgIa32X64.dsc | 2 +-
> OvmfPkg/OvmfPkgX64.dsc | 2 +-
> OvmfPkg/OvmfXen.dsc | 2 +-
> OvmfPkg/RiscVVirt/RiscVVirt.dsc.inc | 2 +-
> .../RngDxe/AArch64/AArch64Algo.c | 55 +++++++++++++------
> .../RandomNumberGenerator/RngDxe/ArmRngDxe.c | 23 +++-----
> .../RandomNumberGenerator/RngDxe/RngDxe.inf | 5 +-
> SecurityPkg/SecurityPkg.dec | 2 -
> SecurityPkg/SecurityPkg.dsc | 4 +-
> SignedCapsulePkg/SignedCapsulePkg.dsc | 4 +-
> 35 files changed, 356 insertions(+), 56 deletions(-)
> create mode 100644 MdeModulePkg/Include/Guid/RngAlgorithm.h
> copy {MdePkg => MdeModulePkg}/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf (85%)
> create mode 100644 MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.uni
> copy {MdePkg => MdeModulePkg}/Library/BaseRngLibTimerLib/RngLibTimer.c (83%)
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#107109): https://edk2.groups.io/g/devel/message/107109
Mute This Topic: https://groups.io/mt/100213727/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
prev parent reply other threads:[~2023-07-20 18:03 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-18 11:51 [edk2-devel] [PATCH v5 0/9] SecurityPkg/MdePkg: Update RngLib GUID identification PierreGondois
2023-07-18 11:51 ` [edk2-devel] [PATCH v5 1/9] MdeModulePkg: Duplicate BaseRngLibTimerLib to MdeModulePkg PierreGondois
2023-08-07 5:09 ` Sami Mujawar
2023-07-18 11:51 ` [edk2-devel] [PATCH v5 2/9] MdePkg: Add deprecated warning to BaseRngLibTimer PierreGondois
2023-08-07 5:12 ` Sami Mujawar
2023-07-18 11:51 ` [edk2-devel] [PATCH v5 3/9] SecurityPkg/SecurityPkg.dec: Move PcdCpuRngSupportedAlgorithm to MdePkg PierreGondois
2023-07-18 11:51 ` [edk2-devel] [PATCH v5 4/9] MdePkg/DxeRngLib: Request raw algorithm instead of default PierreGondois
2023-07-18 11:51 ` [edk2-devel] [PATCH v5 5/9] MdePkg/Rng: Add GUID to describe Arm Rndr Rng algorithms PierreGondois
2023-07-18 11:51 ` [edk2-devel] [PATCH v5 6/9] MdeModulePkg/Rng: Add GUID to describe unsafe " PierreGondois
2023-08-07 5:13 ` Sami Mujawar
2023-07-18 11:51 ` [edk2-devel] [PATCH v5 7/9] MdePkg/Rng: Add GetRngGuid() to RngLib PierreGondois
2023-07-18 11:51 ` [edk2-devel] [PATCH v5 8/9] SecurityPkg/RngDxe: Use GetRngGuid() when probing RngLib PierreGondois
2023-08-07 5:16 ` Sami Mujawar
2023-08-10 13:19 ` PierreGondois
2023-08-10 18:37 ` Sami Mujawar
2023-07-18 11:51 ` [edk2-devel] [PATCH v5 9/9] SecurityPkg/RngDxe: Simplify Rng algorithm selection for Arm PierreGondois
2023-07-19 5:15 ` 回复: [edk2-devel] [PATCH v5 0/9] SecurityPkg/MdePkg: Update RngLib GUID identification gaoliming via groups.io
2023-07-20 18:03 ` Kun Qin [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ca3ba01f-0667-08ca-05c6-efbd7c775e92@gmail.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox