Hi Kun,

Can you look at Pierre's series and see if this issue is resolved, please?

I have also made further suggestions at https://edk2.groups.io/g/devel/message/106511.

Regards,

Sami Mujawar

On 28/06/2023 09:33 pm, Kun Qin wrote:
From: Kun Qin <[email protected]>

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4491

The existing logic of initializing `mAvailableAlgoArrayCount` will treat
the zero GUID in `PcdCpuRngSupportedAlgorithm` as a legit case and
increment `mAvailableAlgoArrayCount`, causing the RNG protocol be
published.

However, when the protocol is invoked, any zero GUID will be filtered
out, leaving a possible edge case where the protocol only has a zero GUID
based algorithm and being filtered out will always result in an ASSERT.

This change marked the zero GUID as an issue and will not increment the
counter and thus avoid publishing the protocol completely.

Cc: Jiewen Yao <[email protected]>
Cc: Jian J Wang <[email protected]>
Cc: Sami Mujawar <[email protected]>
Cc: Pierre Gondois <[email protected]>

Signed-off-by: Kun Qin <[email protected]>
---
  SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/AArch64Algo.c | 7 ++++---
  1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/AArch64Algo.c 
b/SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/AArch64Algo.c
index e8be217f8a8c..de279cdadeea 100644
--- a/SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/AArch64Algo.c
+++ b/SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/AArch64Algo.c
@@ -47,15 +47,16 @@ GetAvailableAlgorithms (
        );

      mAvailableAlgoArrayCount++;

-    DEBUG_CODE_BEGIN ();

      if (IsZeroGuid (PcdGetPtr (PcdCpuRngSupportedAlgorithm))) {

+      DEBUG_CODE_BEGIN ();

        DEBUG ((

          DEBUG_WARN,

          "PcdCpuRngSupportedAlgorithm should be a non-zero GUID\n"

          ));

+

+      DEBUG_CODE_END ();

+      mAvailableAlgoArrayCount--;

      }

-

-    DEBUG_CODE_END ();

    }

    // Raw algorithm (Trng)



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#106514): https://edk2.groups.io/g/devel/message/106514
Mute This Topic: https://groups.io/mt/99839047/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to