From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 077A0D8042C for ; Thu, 20 Jul 2023 18:03:36 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=tBlJ3yjZgs4mVjuS9kB1FG1U2Ium6G6s9/0C2eRHZ5E=; c=relaxed/simple; d=groups.io; h=X-Received:X-Received:X-Received:X-Gm-Message-State:X-Google-Smtp-Source:X-Received:X-Received:Message-ID:Date:MIME-Version:User-Agent:Subject:To:Cc:References:From:In-Reply-To:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Language:Content-Type:Content-Transfer-Encoding; s=20140610; t=1689876215; v=1; b=MNumde9FW6JZgEee4FGTj9ZZbKDHFHqG6CviELBQnSikG8OjmjS/WAcQ+8qLUr+gzMGjSZrl 9VOn9ni+zSrxbhbwJnj93ScumocPbOx0BqkL5t3dHVGmt4t4SCTPSOj94TCdV2QcmVrOI327w4F 1ke+Gv3aiTTmBqT1/1+bRoaQ= X-Received: by 127.0.0.2 with SMTP id BAqMYY7687511xeY5hreEBDQ; Thu, 20 Jul 2023 11:03:35 -0700 X-Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) by mx.groups.io with SMTP id smtpd.web11.272.1689876214882783632 for ; Thu, 20 Jul 2023 11:03:34 -0700 X-Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-66767d628e2so735486b3a.2 for ; Thu, 20 Jul 2023 11:03:34 -0700 (PDT) X-Gm-Message-State: DDY5HAFWlrT3yAv1d7kGZvGQx7686176AA= X-Google-Smtp-Source: APBJJlFfYFO0qzfcfXAoIKD/tUbbhVtR8zXTZsG/Wczlh4/1WexM3EzSHVFcS1e0zvXgQyMHP6jKIA== X-Received: by 2002:a17:90b:1650:b0:260:ea4b:9b6f with SMTP id il16-20020a17090b165000b00260ea4b9b6fmr137478pjb.46.1689876214194; Thu, 20 Jul 2023 11:03:34 -0700 (PDT) X-Received: from ?IPV6:2001:4898:d8:33:6091:3f9b:2f13:3c64? ([2001:4898:80e8:f:e0a4:3f9b:2f13:3c64]) by smtp.gmail.com with ESMTPSA id e23-20020a17090ab39700b002609cadc56esm1251321pjr.11.2023.07.20.11.03.33 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 20 Jul 2023 11:03:33 -0700 (PDT) Message-ID: Date: Thu, 20 Jul 2023 11:03:32 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [edk2-devel] [PATCH v5 0/9] SecurityPkg/MdePkg: Update RngLib GUID identification To: pierre.gondois@arm.com, devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu , Jiewen Yao , Jian J Wang , Ard Biesheuvel , Sami Mujawar , Jose Marinho References: <20230718115156.1224842-1-pierre.gondois@arm.com> From: "Kun Qin" In-Reply-To: <20230718115156.1224842-1-pierre.gondois@arm.com> Precedence: Bulk 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,kuqin12@gmail.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=MNumde9F; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=gmail.com (policy=none) Hi Pierre, Thanks for sending this update. I tested the v5 patch series and=20 verified it booted to Windows. Tested-by: Kun Qin Regards, Kun On 7/18/2023 4:51 AM, pierre.gondois@arm.com wrote: > From: Pierre Gondois > > 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=3D4441 > [2] BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4151 > [3] https://edk2.groups.io/g/devel/message/100806 > [4] BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4504 > > 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 =3D> MdeModulePkg}/Library/BaseRngLibTimerLib/BaseRngLibTi= merLib.inf (85%) > create mode 100644 MdeModulePkg/Library/BaseRngLibTimerLib/BaseRngLibTi= merLib.uni > copy {MdePkg =3D> MdeModulePkg}/Library/BaseRngLibTimerLib/RngLibTimer.= c (83%) > -=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 (#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] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-