On Fri, 18 Nov 2022 at 11:10, Sami Mujawar <sami.muja...@arm.com> wrote:
>
> Hi Ard,
>
> Please find my response inline marked [SAMI].
>
> Regards,
>
> Sami Mujawar
>
> On 18/11/2022, 09:56, "Ard Biesheuvel" <a...@kernel.org> wrote:
>
>     On Wed, 16 Nov 2022 at 16:02, PierreGondois <pierre.gond...@arm.com> 
> wrote:
>     >
>     > From: Pierre Gondois <pierre.gond...@arm.com>
>     >
>     > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4151
>     >
>     > The EFI_RNG_PROTOCOL can advertise multiple algorithms through
>     > Guids. The PcdCpuRngSupportedAlgorithm contains a Guid that
>     > can be configured. It represents the algorithm used in RngLib.
>     > PcdCpuRngSupportedAlgorithm is set to the Zero Guid for KvmTool.
>     >
>     > When running KvmTool on a platform platform only having the RngLib,
>     > the only Guid available for EFI_RNG_PROTOCOL will be the zero Guid.
>     >
>     > To select the default algorithm in EFI_RNG_PROTOCOL.GetRng():
>     > a. Zero Guids are skipped
>     > b. If no algorithm is found, an ASSERT is triggered
>     >
>     > To allow using the RngLib to be used for the case above, Zero Guids
>     > should not be skipped (a.).
>     > If no algorithm is found, don't prevent from booting on DEBUG builds
>     > (b.).
>     >
>     > Allow Zero Guids to be selected and don't ASSERT if no algorithm is
>     > found. Also simplify the selection of the Rng algorithm when the
>     > default one is selected by just picking up the first element of
>     > mAvailableAlgoArray.
>     >
>     > Reported-by: Sami Mujawar <sami.muja...@arm.com>
>     > Signed-off-by: Pierre Gondois <pierre.gond...@arm.com>
>
>     I am still confused by this.
>
>     Does this mean we might register the RNG protocol if we don't have
>     anything to back it up?
> [SAMI] From a Guest firmware implementation perspective, we do not know the 
> available RNG source.
> It may be CPU RNG, Arm FW TRNG or VIRTIO RNG.
> I would assume either one of CPU RNG or Arm FW TRNG would be implemented on 
> the host platform. If none of these are present, we would want to fall back 
> to VIRTIO RNG.
>
> Considering this, I think we should not register the EFI_RNG_PRTOCOL if no 
> supported algorithms are present.
>
> The other argument would be that the protocol allows discovery of supported 
> RNG source. But looking how this is consumed in Linux, I think it is better 
> to not register EFI_RNG_PRTOCOL if no supported algorithms are present.
>
> Please do let me know your thoughts.

Agreed. I am adding support for the TRNG to the QEMU firmware, and if
this is supported, there is really no point in attaching a driver to
virtio-rng as well.

This means that checking for the existence of the EFI_RNG_PROTOCOL
should be sufficient to decide whether or not install another one.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#96493): https://edk2.groups.io/g/devel/message/96493
Mute This Topic: https://groups.io/mt/95067856/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to