Jian, In this patch series I see mixed use of different RngLib instances.
How does a platform developer working on their DSC file know if the BaseCryptLib services they are using require a Null or a complete implementation of the RngLib? How does a platform developer know if they made the wrong choice. Thanks, Mike > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On > Behalf Of Wang, Jian J > Sent: Wednesday, November 13, 2019 6:18 PM > To: devel@edk2.groups.io > Cc: Ard Biesheuvel <ard.biesheu...@linaro.org>; Bret > Barkelew <bret.barke...@microsoft.com>; Zhang, Chao B > <chao.b.zh...@intel.com>; Wu, Jiaxin > <jiaxin...@intel.com>; Yao, Jiewen > <jiewen....@intel.com>; Justen, Jordan L > <jordan.l.jus...@intel.com>; Laszlo Ersek > <ler...@redhat.com>; Leif Lindholm > <leif.lindh...@linaro.org>; Gao, Liming > <liming....@intel.com>; Rabeda, Maciej > <maciej.rab...@intel.com>; Matthew Carlson > <mac...@microsoft.com>; Kinney, Michael D > <michael.d.kin...@intel.com>; Ni, Ray > <ray...@intel.com>; Sean Brogan > <sean.bro...@microsoft.com>; Fu, Siyuan > <siyuan...@intel.com>; Lu, XiaoyuX > <xiaoyux...@intel.com> > Subject: [edk2-devel] [PATCH 00/11] Use proper entropy > sources > > REF: > https://bugzilla.tianocore.org/show_bug.cgi?id=1871 > > Patch series summary: > - Add BaseRngLibNull to package dsc > - Add DxeRngLibRngProtocol to make use > EFI_RNG_PROTOCOL > - Add RdSeed interface and RngLibRdSeed for IA32/X64 > arch > - Remove following files > rand_pool_noise.h > rand_pool_noise_tsc.c > rand_pool_noise.c > - Update rand_pool.c to use RngLib interface directly > and the drop the TimerLib depenency from OpensslLib > - Update OVMF platform dsc to use DxeRngLibRngProtocol > when necessary > > Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> > Cc: Bret Barkelew <bret.barke...@microsoft.com> > Cc: Chao Zhang <chao.b.zh...@intel.com> > Cc: Jiaxin Wu <jiaxin...@intel.com> > Cc: Jiewen Yao <jiewen....@intel.com> > Cc: Jordan Justen <jordan.l.jus...@intel.com> > Cc: Laszlo Ersek <ler...@redhat.com> > Cc: Leif Lindholm <leif.lindh...@linaro.org> > Cc: Liming Gao <liming....@intel.com> > Cc: Maciej Rabeda <maciej.rab...@intel.com> > Cc: Matthew Carlson <mac...@microsoft.com> > Cc: Michael D Kinney <michael.d.kin...@intel.com> > Cc: Ray Ni <ray...@intel.com> > Cc: Sean Brogan <sean.bro...@microsoft.com> > Cc: Siyuan Fu <siyuan...@intel.com> > Cc: Xiaoyu Lu <xiaoyux...@intel.com> > > Jian J Wang (11): > NetworkPkg/NetworkPkg.dsc: specify RngLib instance > for build > SignedCapsulePkg/SignedCapsulePkg.dsc: specify RngLib > instances > FmpDevicePkg/FmpDevicePkg.dsc: specify RngLib > instances in dsc files > MdePkg/BaseLib: add interface to wrap rdseed IA > instruction > SecurityPkg/RngLibRdSeed: add an instance of RngLib > to make use rdseed > SecurityPkg/DxeRngLibRngProtocol: add RNG protocol > version of RngLib > SecurityPkg/SecurityPkg.dsc: add new RngLib instances > for build > OvmfPkg: specify RngLib instances in dsc files > ArmVirtPkg/ArmVirt.dsc.inc: specify RngLib instances > in dsc files > CryptoPkg/OpensslLib: use RngLib to get high quality > random entropy > FmpDevicePkg/FmpDevicePkg.dsc: remove TimerLib > instance > > ArmVirtPkg/ArmVirt.dsc.inc | 2 + > CryptoPkg/CryptoPkg.dsc | 1 + > CryptoPkg/Library/OpensslLib/OpensslLib.inf | 15 +- > .../Library/OpensslLib/OpensslLibCrypto.inf | 15 +- > CryptoPkg/Library/OpensslLib/rand_pool.c | 253 > ++---------------- > .../Library/OpensslLib/rand_pool_noise.c | 29 -- > .../Library/OpensslLib/rand_pool_noise.h | 29 -- > .../Library/OpensslLib/rand_pool_noise_tsc.c | 43 -- > - > FmpDevicePkg/FmpDevicePkg.dsc | 2 +- > MdePkg/Include/Library/BaseLib.h | 51 > ++++ > MdePkg/Library/BaseLib/BaseLib.inf | 4 + > MdePkg/Library/BaseLib/BaseLibInternals.h | 46 > ++++ > MdePkg/Library/BaseLib/Ia32/RdSeed.nasm | 87 > ++++++ > MdePkg/Library/BaseLib/X64/RdSeed.nasm | 80 > ++++++ > MdePkg/Library/BaseLib/X86RdSeed.c | 73 > +++++ > NetworkPkg/NetworkPkg.dsc | 1 + > OvmfPkg/OvmfPkgIa32.dsc | 5 + > OvmfPkg/OvmfPkgIa32X64.dsc | 5 + > OvmfPkg/OvmfPkgX64.dsc | 5 + > OvmfPkg/OvmfXen.dsc | 5 + > .../DxeRngLibRngProtocol.c | 200 > ++++++++++++++ > .../DxeRngLibRngProtocol.inf | 42 > +++ > .../DxeRngLibRngProtocol.uni | 14 + > .../RngLibRdSeed/RngLibRdSeed.inf | 37 > +++ > .../RngLibRdSeed/RngLibRdSeed.uni | 18 ++ > .../RngLibRdSeed/RngRdSeed.c | 189 > +++++++++++++ > SecurityPkg/SecurityPkg.dsc | 6 + > SignedCapsulePkg/SignedCapsulePkg.dsc | 6 + > 28 files changed, 909 insertions(+), 354 deletions(-) > delete mode 100644 > CryptoPkg/Library/OpensslLib/rand_pool_noise.c > delete mode 100644 > CryptoPkg/Library/OpensslLib/rand_pool_noise.h > delete mode 100644 > CryptoPkg/Library/OpensslLib/rand_pool_noise_tsc.c > create mode 100644 > MdePkg/Library/BaseLib/Ia32/RdSeed.nasm > create mode 100644 > MdePkg/Library/BaseLib/X64/RdSeed.nasm > create mode 100644 MdePkg/Library/BaseLib/X86RdSeed.c > create mode 100644 > SecurityPkg/RandomNumberGenerator/DxeRngLibRngProtocol/ > DxeRngLibRngProtocol.c > create mode 100644 > SecurityPkg/RandomNumberGenerator/DxeRngLibRngProtocol/ > DxeRngLibRngProtocol.inf > create mode 100644 > SecurityPkg/RandomNumberGenerator/DxeRngLibRngProtocol/ > DxeRngLibRngProtocol.uni > create mode 100644 > SecurityPkg/RandomNumberGenerator/RngLibRdSeed/RngLibRd > Seed.inf > create mode 100644 > SecurityPkg/RandomNumberGenerator/RngLibRdSeed/RngLibRd > Seed.uni > create mode 100644 > SecurityPkg/RandomNumberGenerator/RngLibRdSeed/RngRdSee > d.c > > -- > 2.17.1.windows.2 > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#50621): https://edk2.groups.io/g/devel/message/50621 Mute This Topic: https://groups.io/mt/56714011/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-