90 lines
3.0 KiB
Diff
90 lines
3.0 KiB
Diff
|
From 3800b9ee5d6d4c05c7e27f949c3b32c422c78f2d Mon Sep 17 00:00:00 2001
|
||
|
From: Jon Maloy <jmaloy@redhat.com>
|
||
|
Date: Thu, 20 Jun 2024 16:02:31 -0400
|
||
|
Subject: [PATCH 16/31] MdePkg: Add deprecated warning to BaseRngLibTimer
|
||
|
|
||
|
RH-Author: Jon Maloy <jmaloy@redhat.com>
|
||
|
RH-MergeRequest: 77: UINT32 overflow in S3 ResumeCount and Pixiefail fixes
|
||
|
RH-Jira: RHEL-21854 RHEL-21856 RHEL-40099
|
||
|
RH-Acked-by: Gerd Hoffmann <None>
|
||
|
RH-Commit: [16/31] 6e199344d083e90f60cbe01dfb3c2a3719e3177d
|
||
|
|
||
|
JIRA: https://issues.redhat.com/browse/RHEL-21856
|
||
|
Upstream: Merged
|
||
|
CVE: CVE-2023-45237
|
||
|
|
||
|
commit e93468442b7da7bc80e00014e854c0c8a0a7184b
|
||
|
Author: Pierre Gondois <pierre.gondois@arm.com>
|
||
|
Date: Fri Aug 11 16:33:03 2023 +0200
|
||
|
|
||
|
MdePkg: Add deprecated warning to BaseRngLibTimer
|
||
|
|
||
|
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4504
|
||
|
|
||
|
To keep the MdePkg self-contained and avoid dependencies on GUIDs
|
||
|
defined in other packages, the BaseRngLibTimer was moved to the
|
||
|
MdePkg.
|
||
|
Add a constructor to warn and request to use the MdeModulePkg
|
||
|
implementation.
|
||
|
|
||
|
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
|
||
|
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
|
||
|
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
|
||
|
Acked-by: Ard Biesheuvel <ardb@kernel.org>
|
||
|
Tested-by: Kun Qin <kun.qin@microsoft.com>
|
||
|
|
||
|
Signed-off-by: Jon Maloy <jmaloy@redhat.com>
|
||
|
---
|
||
|
.../BaseRngLibTimerLib/BaseRngLibTimerLib.inf | 1 +
|
||
|
.../Library/BaseRngLibTimerLib/RngLibTimer.c | 22 +++++++++++++++++++
|
||
|
2 files changed, 23 insertions(+)
|
||
|
|
||
|
diff --git a/MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf b/MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||
|
index f857290e82..96c90db63f 100644
|
||
|
--- a/MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||
|
+++ b/MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
|
||
|
@@ -23,6 +23,7 @@
|
||
|
MODULE_TYPE = BASE
|
||
|
VERSION_STRING = 1.0
|
||
|
LIBRARY_CLASS = RngLib
|
||
|
+ CONSTRUCTOR = BaseRngLibTimerConstructor
|
||
|
|
||
|
[Sources]
|
||
|
RngLibTimer.c
|
||
|
diff --git a/MdePkg/Library/BaseRngLibTimerLib/RngLibTimer.c b/MdePkg/Library/BaseRngLibTimerLib/RngLibTimer.c
|
||
|
index 54d29d96f3..6b8392162b 100644
|
||
|
--- a/MdePkg/Library/BaseRngLibTimerLib/RngLibTimer.c
|
||
|
+++ b/MdePkg/Library/BaseRngLibTimerLib/RngLibTimer.c
|
||
|
@@ -13,6 +13,28 @@
|
||
|
|
||
|
#define DEFAULT_DELAY_TIME_IN_MICROSECONDS 10
|
||
|
|
||
|
+/**
|
||
|
+ This implementation is to be replaced by its MdeModulePkg copy.
|
||
|
+ The cause being that some GUIDs (gEdkiiRngAlgorithmUnSafe) cannot
|
||
|
+ be defined in the MdePkg.
|
||
|
+
|
||
|
+ @retval EFI_SUCCESS The constructor always returns EFI_SUCCESS.
|
||
|
+**/
|
||
|
+RETURN_STATUS
|
||
|
+EFIAPI
|
||
|
+BaseRngLibTimerConstructor (
|
||
|
+ VOID
|
||
|
+ )
|
||
|
+{
|
||
|
+ DEBUG ((
|
||
|
+ DEBUG_WARN,
|
||
|
+ "Warning: This BaseRngTimerLib implementation will be deprecated. "
|
||
|
+ "Please use the MdeModulePkg implementation equivalent.\n"
|
||
|
+ ));
|
||
|
+
|
||
|
+ return RETURN_SUCCESS;
|
||
|
+}
|
||
|
+
|
||
|
/**
|
||
|
Using the TimerLib GetPerformanceCounterProperties() we delay
|
||
|
for enough time for the PerformanceCounter to increment.
|
||
|
--
|
||
|
2.39.3
|
||
|
|