From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.179]) by mx.groups.io with SMTP id smtpd.web10.1107.1687984443732621835 for ; Wed, 28 Jun 2023 13:34:03 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20221208 header.b=KeHYb+DF; spf=pass (domain: gmail.com, ip: 209.85.210.179, mailfrom: kuqin12@gmail.com) Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-67ef5af0ce8so165429b3a.2 for ; Wed, 28 Jun 2023 13:34:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1687984443; x=1690576443; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lI7jVFDZ+njjEI1PRfFx4Aj7UST3L9wQEnFy0vXBXtg=; b=KeHYb+DFIhWyUkAImduj7bN6nI/uA0uGrshUkqK9rIxrW9Asz5rdVsjNmKzXBbAEzt 1rIjmgCAtUQNqyWTlg2UsBnC7hFTN7ONRmtOO2BHNX7iZYvI4hMPOUNHiPEMEZ8Hv3hi /4J15aCZKPfXexl5i9ZlPpr0+3r1+m0pZSM1hgcpGUaMjT0kUrV0LORppd/Bf6nuSgiF Bh9Xj26efZLSIh6Bxh4ToKt+8ZbXmwSVkj4PyAqQVCoNXFSvCwohz6v3zbjwQfsEjT1X p2L4CKwHUYRkf12znjh5Ax/O+ZsY9ZcpGiUkdWW1X1yTD+2kUJo/DKuGD9YSchM22lwL Z/YA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687984443; x=1690576443; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=lI7jVFDZ+njjEI1PRfFx4Aj7UST3L9wQEnFy0vXBXtg=; b=I5wH41OuyNQPGt2OlZOtEIXfbjHDnnpqEkmvN4NcDvbH8qVhLGgwZqJVUtkkcyUibv aUDyYbD910vJNc/JhtnpP/toWXh5MmVvpOFraEVGgDHb8r2/ksEZvmFZQUT8B/M0kAev yKE8pPYP3CtrNBc/HkrtkLYuDhSGHIwdqR8vFIWpGbcb20PG6aHhyTnhOQAhkTTrgklh 6bAYFz88iLPUGUGHNR9zzaGKAfdUmr+uI4TXX80pyKe0S0DxtwuQvPvTy/cUxR9RWXUb bieAr0fGiKKao3ttosyljQ/LV1uPDyu//VD+v2qc5If9hKrtAJQyQjm57HKw3X0lAuR5 Ekew== X-Gm-Message-State: AC+VfDyCRcZlYc0VolZH4Vln0QuaaOO32pFt28goj5QY3Env8OEiFKE1 uBQKRhyERyabu67kbXjTul4WHslj2ek= X-Google-Smtp-Source: ACHHUZ48+UTBj90SLqXLY0FfvU415/E6dRxHt9OgCaAmTebrujtj70nvp0bKXVSHTc2J4ULFTi+VsQ== X-Received: by 2002:a05:6a20:3d24:b0:12b:3075:ef4c with SMTP id y36-20020a056a203d2400b0012b3075ef4cmr7168358pzi.27.1687984442890; Wed, 28 Jun 2023 13:34:02 -0700 (PDT) Return-Path: Received: from MININT-0U7P5GU.redmond.corp.microsoft.com ([2001:4898:80e8:36:c4fd:c6b3:a2ad:4140]) by smtp.gmail.com with ESMTPSA id x19-20020aa793b3000000b0064d681c753csm6064157pff.40.2023.06.28.13.34.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Jun 2023 13:34:02 -0700 (PDT) From: "Kun Qin" To: devel@edk2.groups.io Cc: Jiewen Yao , Jian J Wang , Sami Mujawar , Pierre Gondois Subject: [PATCH v1 1/2] SecurityPkg: RngDxe: Unify handling of zero guid Date: Wed, 28 Jun 2023 13:33:55 -0700 Message-ID: <20230628203357.2001-2-kuqin12@gmail.com> X-Mailer: git-send-email 2.41.0.windows.1 In-Reply-To: <20230628203357.2001-1-kuqin12@gmail.com> References: <20230628203357.2001-1-kuqin12@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Kun Qin REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4491 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 Cc: Jian J Wang Cc: Sami Mujawar Cc: Pierre Gondois Signed-off-by: Kun Qin --- 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 ( );=0D mAvailableAlgoArrayCount++;=0D =0D - DEBUG_CODE_BEGIN ();=0D if (IsZeroGuid (PcdGetPtr (PcdCpuRngSupportedAlgorithm))) {=0D + DEBUG_CODE_BEGIN ();=0D DEBUG ((=0D DEBUG_WARN,=0D "PcdCpuRngSupportedAlgorithm should be a non-zero GUID\n"=0D ));=0D +=0D + DEBUG_CODE_END ();=0D + mAvailableAlgoArrayCount--;=0D }=0D -=0D - DEBUG_CODE_END ();=0D }=0D =0D // Raw algorithm (Trng)=0D --=20 2.41.0.windows.1