public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "PierreGondois" <pierre.gondois@arm.com>
To: Ard Biesheuvel <ardb@kernel.org>
Cc: devel@edk2.groups.io, Ard Biesheuvel <ardb+tianocore@kernel.org>,
	Leif Lindholm <leif@nuviainc.com>,
	Sami Mujawar <sami.mujawar@arm.com>,
	Jiewen Yao <jiewen.yao@intel.com>,
	Jian J Wang <jian.j.wang@intel.com>
Subject: Re: [PATCH v3 0/4] ArmPkg/SecurityPkg: Fixes for ArmTrngLib/RngDxe
Date: Mon, 28 Nov 2022 14:34:34 +0100	[thread overview]
Message-ID: <6f504945-6894-a344-16ad-f67eb5e53050@arm.com> (raw)
In-Reply-To: <CAMj1kXG5c7C0R6Vsw6j0uYF7uY6FHFyVaGyfLu3zZ1MhuiSV_Q@mail.gmail.com>

Hello Ard,

On 11/26/22 15:33, Ard Biesheuvel wrote:
> On Thu, 24 Nov 2022 at 17:18, <Pierre.Gondois@arm.com> wrote:
>>
>> From: Pierre Gondois <pierre.gondois@arm.com>
>>
>> v1:
>> - https://edk2.groups.io/g/devel/message/96356
>> v2:
>> - https://edk2.groups.io/g/devel/message/96434
>> - Reformulate commit message.
>> - Do not warn if no algorithm is found as the message
>>    would be printed on non-Arm platforms.
>> v3:
>> - Add the following patches:
>>    1. ArmPkg/ArmTrngLib: Remove ASSERTs in ArmTrngLibConstructor()
>>       Requested by Ard.
>>       Cf https://edk2.groups.io/g/devel/message/96495
>>    2. SecurityPkg/RngDxe: Conditionally install EFI_RNG_PROTOCOL
>>       Do not install EFI_RNG_PROTOCOL if no RNG algorithm is available.
>>       Cf. https://edk2.groups.io/g/devel/message/96494
>>    3. SecurityPkg/RngDxe: Fix Rng algo selection for Arm
>>       Coming from v2 patch being split.
>>
>> Some issues were found by Ard/Sami on the RngDxe/ArmTrngLib after
>> recent patches were merged. This patch serie intends to fix them.
>>
>> Pierre Gondois (4):
>>    ArmPkg/ArmTrngLib: Remove ASSERTs in ArmTrngLibConstructor()
> 
> Thanks for the fixed
> 
> Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
> 
> I pushed this one as #3663 (pending CI verification atm)
> 
>>    SecurityPkg/RngDxe: Correctly update mAvailableAlgoArrayCount
>>    SecurityPkg/RngDxe: Conditionally install EFI_RNG_PROTOCOL
>>    SecurityPkg/RngDxe: Fix Rng algo selection for Arm
>>
> 
> The remaining code still looks a bit clunky to me. Can't we just
> return an error from the library constructor of the library cannot
> initialize due to a missing prerequisite?

In RngDriverEntry(), GetAvailableAlgorithms() probe the available
RNG algorithms. If there are none, then we return an error code.
Otherwise we install EFI_RNG_PROTOCOL.

I assume the prerequisite you a referring to is 'checking there is
at least one available RNG algorithm that RngDxe can use', so if
ArmTrngLib's constructor fails, we should not prevent RngDxe to be
loaded (as the RngLib could be used for instance).

Does it answer your question, or did I understand it incorrectly ?

Regards,
Pierre

> 
> 
>>   ArmPkg/Library/ArmTrngLib/ArmTrngLib.c        |  5 -----
>>   .../RandomNumberGenerator/RngDxe/ArmRngDxe.c  | 18 +++++-------------
>>   .../RngDxe/Rand/RngDxe.c                      |  9 ++++++++-
>>   .../RandomNumberGenerator/RngDxe/RngDxe.c     | 19 ++++++++++++++-----
>>   4 files changed, 27 insertions(+), 24 deletions(-)
>>
>> --
>> 2.25.1
>>

  reply	other threads:[~2022-11-28 13:34 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-24 16:17 [PATCH v3 0/4] ArmPkg/SecurityPkg: Fixes for ArmTrngLib/RngDxe PierreGondois
2022-11-24 16:17 ` [PATCH v3 1/4] ArmPkg/ArmTrngLib: Remove ASSERTs in ArmTrngLibConstructor() PierreGondois
2022-11-24 16:17 ` [PATCH v3 2/4] SecurityPkg/RngDxe: Correctly update mAvailableAlgoArrayCount PierreGondois
2022-11-24 16:17 ` [PATCH v3 3/4] SecurityPkg/RngDxe: Conditionally install EFI_RNG_PROTOCOL PierreGondois
2022-11-24 16:17 ` [PATCH v3 4/4] SecurityPkg/RngDxe: Fix Rng algo selection for Arm PierreGondois
2022-11-26 14:33 ` [PATCH v3 0/4] ArmPkg/SecurityPkg: Fixes for ArmTrngLib/RngDxe Ard Biesheuvel
2022-11-28 13:34   ` PierreGondois [this message]
2022-12-07  8:53   ` [edk2-devel] " Sami Mujawar
2022-12-07  9:04     ` Sami Mujawar
     [not found]   ` <172BC2FE233A5592.368@groups.io>
2023-01-09 12:26     ` PierreGondois
2023-02-10  9:26       ` PierreGondois
     [not found]       ` <17426C66FE22D73E.5513@groups.io>
2023-03-06 15:37         ` PierreGondois
2023-03-06 15:42           ` Yao, Jiewen
2023-03-06 16:22             ` Ard Biesheuvel
2023-03-06 17:09               ` PierreGondois
2023-03-06 17:36                 ` Ard Biesheuvel
2023-03-07  7:53               ` Yao, Jiewen
2023-03-07 15:38                 ` Ard Biesheuvel

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=6f504945-6894-a344-16ad-f67eb5e53050@arm.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