From efbf5ed08c48478b51bb6b6da5670b1312755854 Mon Sep 17 00:00:00 2001 From: Oliver Smith-Denny Date: Wed, 29 Jan 2025 11:01:04 -0800 Subject: MdePkg: Move StackCheckLibStaticInit to StackCheckLib This commit oves StackCheckLib from a NULL lib to an instance of StackCheckLib. This requires every entry point to add a library dependency on StackCheckLib. It also requires every SEC module to have a dependency on StackCheckLib because there is no standard SEC entry point. It allows for greater flexibility for a platform to apply stack cookies and simplifies DSC logic. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Oliver Smith-Denny --- .../ArmStandaloneMmCoreEntryPoint.inf | 1 + ArmPlatformPkg/PeilessSec/PeilessSec.inf | 1 + ArmPlatformPkg/Sec/Sec.inf | 1 + .../PrePi/ArmVirtPrePiUniCoreRelocatable.inf | 1 + EmulatorPkg/EmulatorPkg.dsc | 10 +--- EmulatorPkg/Sec/Sec.inf | 1 + EmulatorPkg/Unix/Host/Host.inf | 1 + EmulatorPkg/Win/Host/WinHost.inf | 1 + IntelFsp2Pkg/FspSecCore/Fsp22SecCoreS.inf | 1 + IntelFsp2Pkg/FspSecCore/Fsp24SecCoreM.inf | 1 + IntelFsp2Pkg/FspSecCore/Fsp24SecCoreS.inf | 1 + IntelFsp2Pkg/FspSecCore/FspSecCoreI.inf | 1 + IntelFsp2Pkg/FspSecCore/FspSecCoreM.inf | 1 + IntelFsp2Pkg/FspSecCore/FspSecCoreS.inf | 1 + IntelFsp2Pkg/FspSecCore/FspSecCoreT.inf | 1 + MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf | 3 ++ .../DxeCoreEntryPoint/DxeCoreEntryPoint.inf | 1 + .../PeiCoreEntryPoint/PeiCoreEntryPoint.inf | 2 +- MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf | 2 +- MdePkg/Library/StackCheckLib/StackCheckLib.inf | 56 +++++++++++++++++++++ .../StackCheckLib/StackCheckLibStaticInit.inf | 58 ---------------------- .../StandaloneMmCoreEntryPoint.inf | 1 + .../StandaloneMmDriverEntryPoint.inf | 1 + .../UefiApplicationEntryPoint.inf | 1 + .../UefiDriverEntryPoint/UefiDriverEntryPoint.inf | 1 + MdePkg/MdePkg.dsc | 2 +- OvmfPkg/IntelTdx/Sec/SecMain.inf | 1 + .../UefiDriverEntryPointFwCfgOverrideLib.inf | 1 + OvmfPkg/LoongArchVirt/Sec/SecMain.inf | 1 + OvmfPkg/RiscVVirt/Sec/SecMain.inf | 1 + OvmfPkg/Sec/SecMain.inf | 1 + UefiCpuPkg/SecCore/SecCore.inf | 1 + UefiCpuPkg/SecCore/SecCoreNative.inf | 1 + .../UefiPayloadEntry/UefiPayloadEntry.inf | 1 + .../UefiPayloadEntry/UniversalPayloadEntry.inf | 1 + 35 files changed, 92 insertions(+), 69 deletions(-) create mode 100644 MdePkg/Library/StackCheckLib/StackCheckLib.inf delete mode 100644 MdePkg/Library/StackCheckLib/StackCheckLibStaticInit.inf diff --git a/ArmPkg/Library/ArmStandaloneMmCoreEntryPoint/ArmStandaloneMmCoreEntryPoint.inf b/ArmPkg/Library/ArmStandaloneMmCoreEntryPoint/ArmStandaloneMmCoreEntryPoint.inf index 9afd8e9715..e5bfb810f1 100644 --- a/ArmPkg/Library/ArmStandaloneMmCoreEntryPoint/ArmStandaloneMmCoreEntryPoint.inf +++ b/ArmPkg/Library/ArmStandaloneMmCoreEntryPoint/ArmStandaloneMmCoreEntryPoint.inf @@ -47,6 +47,7 @@ ArmSvcLib ArmTransferListLib ArmFfaLib + StackCheckLib [Guids] gMpInformationHobGuid diff --git a/ArmPlatformPkg/PeilessSec/PeilessSec.inf b/ArmPlatformPkg/PeilessSec/PeilessSec.inf index 7ceeb74f69..7f67adfa71 100644 --- a/ArmPlatformPkg/PeilessSec/PeilessSec.inf +++ b/ArmPlatformPkg/PeilessSec/PeilessSec.inf @@ -51,6 +51,7 @@ PrintLib SerialPortLib TimerLib + StackCheckLib [Ppis] gArmMpCoreInfoPpiGuid diff --git a/ArmPlatformPkg/Sec/Sec.inf b/ArmPlatformPkg/Sec/Sec.inf index 58a566f5f0..b5af19e7a4 100644 --- a/ArmPlatformPkg/Sec/Sec.inf +++ b/ArmPlatformPkg/Sec/Sec.inf @@ -47,6 +47,7 @@ DebugLib PrintLib SerialPortLib + StackCheckLib [Ppis] gEfiTemporaryRamSupportPpiGuid diff --git a/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf b/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf index ed8b89e2b6..1f6538a4e5 100755 --- a/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf +++ b/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf @@ -54,6 +54,7 @@ PlatformPeiLib MemoryInitPeiLib CacheMaintenanceLib + StackCheckLib [Guids] gArmMpCoreInfoGuid diff --git a/EmulatorPkg/EmulatorPkg.dsc b/EmulatorPkg/EmulatorPkg.dsc index a4989c1239..5bba746a02 100644 --- a/EmulatorPkg/EmulatorPkg.dsc +++ b/EmulatorPkg/EmulatorPkg.dsc @@ -323,10 +323,7 @@ # USER_DEFINED components skip normal NULL lib linking, so we have to link this # specially here for the libs that have stack guard enabled ## - EmulatorPkg/Win/Host/WinHost.inf { - - NULL|MdePkg/Library/StackCheckLibNull/StackCheckLibNull.inf - } + EmulatorPkg/Win/Host/WinHost.inf !else ## # Emulator, OS POSIX application @@ -334,10 +331,7 @@ # USER_DEFINED components skip normal NULL lib linking, so we have to link this # specially here for the libs that have stack guard enabled ## - EmulatorPkg/Unix/Host/Host.inf { - - NULL|MdePkg/Library/StackCheckLibNull/StackCheckLibNull.inf - } + EmulatorPkg/Unix/Host/Host.inf !endif !endif diff --git a/EmulatorPkg/Sec/Sec.inf b/EmulatorPkg/Sec/Sec.inf index 7476094f13..5d47eed7ae 100644 --- a/EmulatorPkg/Sec/Sec.inf +++ b/EmulatorPkg/Sec/Sec.inf @@ -40,6 +40,7 @@ PeiServicesLib PpiListLib BaseMemoryLib + StackCheckLib [Ppis] gEfiTemporaryRamSupportPpiGuid diff --git a/EmulatorPkg/Unix/Host/Host.inf b/EmulatorPkg/Unix/Host/Host.inf index 1b7481d1e0..550cb9f6e8 100644 --- a/EmulatorPkg/Unix/Host/Host.inf +++ b/EmulatorPkg/Unix/Host/Host.inf @@ -61,6 +61,7 @@ PpiListLib PeiServicesLib PeCoffGetEntryPointLib + StackCheckLib [Ppis] gEfiPeiStatusCodePpiGuid # PPI ALWAYS_PRODUCED diff --git a/EmulatorPkg/Win/Host/WinHost.inf b/EmulatorPkg/Win/Host/WinHost.inf index 9b3cefcabb..b123ea9dcf 100644 --- a/EmulatorPkg/Win/Host/WinHost.inf +++ b/EmulatorPkg/Win/Host/WinHost.inf @@ -55,6 +55,7 @@ PpiListLib PeiServicesLib FrameBufferBltLib + StackCheckLib [Ppis] gEmuThunkPpiGuid diff --git a/IntelFsp2Pkg/FspSecCore/Fsp22SecCoreS.inf b/IntelFsp2Pkg/FspSecCore/Fsp22SecCoreS.inf index 4a67388ddf..1b627e2825 100644 --- a/IntelFsp2Pkg/FspSecCore/Fsp22SecCoreS.inf +++ b/IntelFsp2Pkg/FspSecCore/Fsp22SecCoreS.inf @@ -52,6 +52,7 @@ FspSwitchStackLib FspCommonLib FspSecPlatformLib + StackCheckLib [Ppis] gEfiTemporaryRamSupportPpiGuid ## PRODUCES diff --git a/IntelFsp2Pkg/FspSecCore/Fsp24SecCoreM.inf b/IntelFsp2Pkg/FspSecCore/Fsp24SecCoreM.inf index 40ff9f22f7..03b1d62cf3 100644 --- a/IntelFsp2Pkg/FspSecCore/Fsp24SecCoreM.inf +++ b/IntelFsp2Pkg/FspSecCore/Fsp24SecCoreM.inf @@ -61,6 +61,7 @@ CpuLib FspMultiPhaseLib FspPlatformLib + StackCheckLib [Pcd] gIntelFsp2PkgTokenSpaceGuid.PcdTemporaryRamBase ## CONSUMES diff --git a/IntelFsp2Pkg/FspSecCore/Fsp24SecCoreS.inf b/IntelFsp2Pkg/FspSecCore/Fsp24SecCoreS.inf index 1d44fb67b5..4df7fce0e0 100644 --- a/IntelFsp2Pkg/FspSecCore/Fsp24SecCoreS.inf +++ b/IntelFsp2Pkg/FspSecCore/Fsp24SecCoreS.inf @@ -53,6 +53,7 @@ FspCommonLib FspSecPlatformLib FspMultiPhaseLib + StackCheckLib [Ppis] gEfiTemporaryRamSupportPpiGuid ## PRODUCES diff --git a/IntelFsp2Pkg/FspSecCore/FspSecCoreI.inf b/IntelFsp2Pkg/FspSecCore/FspSecCoreI.inf index d31576c00b..62129a1b88 100644 --- a/IntelFsp2Pkg/FspSecCore/FspSecCoreI.inf +++ b/IntelFsp2Pkg/FspSecCore/FspSecCoreI.inf @@ -50,5 +50,6 @@ FspSwitchStackLib FspCommonLib FspSecPlatformLib + StackCheckLib diff --git a/IntelFsp2Pkg/FspSecCore/FspSecCoreM.inf b/IntelFsp2Pkg/FspSecCore/FspSecCoreM.inf index ac572a6168..07b62177eb 100644 --- a/IntelFsp2Pkg/FspSecCore/FspSecCoreM.inf +++ b/IntelFsp2Pkg/FspSecCore/FspSecCoreM.inf @@ -60,6 +60,7 @@ FspSecPlatformLib CpuLib FspPlatformLib + StackCheckLib [Pcd] gIntelFsp2PkgTokenSpaceGuid.PcdTemporaryRamBase ## CONSUMES diff --git a/IntelFsp2Pkg/FspSecCore/FspSecCoreS.inf b/IntelFsp2Pkg/FspSecCore/FspSecCoreS.inf index fb80c0e339..0d6aa4d2f3 100644 --- a/IntelFsp2Pkg/FspSecCore/FspSecCoreS.inf +++ b/IntelFsp2Pkg/FspSecCore/FspSecCoreS.inf @@ -52,6 +52,7 @@ FspSwitchStackLib FspCommonLib FspSecPlatformLib + StackCheckLib [Ppis] gEfiTemporaryRamSupportPpiGuid ## PRODUCES diff --git a/IntelFsp2Pkg/FspSecCore/FspSecCoreT.inf b/IntelFsp2Pkg/FspSecCore/FspSecCoreT.inf index e5a6eaa164..73c0de88d5 100644 --- a/IntelFsp2Pkg/FspSecCore/FspSecCoreT.inf +++ b/IntelFsp2Pkg/FspSecCore/FspSecCoreT.inf @@ -46,6 +46,7 @@ FspSwitchStackLib FspCommonLib FspSecPlatformLib + StackCheckLib [Pcd] gIntelFsp2PkgTokenSpaceGuid.PcdTemporaryRamBase ## CONSUMES diff --git a/MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf b/MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf index 35d2535a5b..8457ac3236 100644 --- a/MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf +++ b/MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf @@ -44,6 +44,9 @@ DebugLib CpuExceptionHandlerLib DebugAgentLib + # CapsuleX64 implements its own _ModuleEntryPoint() and does not link against the standard PEIM entrypoint. As a + # result, it must include StackCheckLib to resolve the compiler inserted references to stack cookie functionality + StackCheckLib [Depex] FALSE diff --git a/MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf b/MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf index 72fd7572b7..05def4471d 100644 --- a/MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf +++ b/MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf @@ -33,4 +33,5 @@ [LibraryClasses] BaseLib DebugLib + StackCheckLib diff --git a/MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf b/MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf index c14a84dd32..d73c8e01d1 100644 --- a/MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf +++ b/MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf @@ -31,4 +31,4 @@ [LibraryClasses] BaseLib DebugLib - + StackCheckLib diff --git a/MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf b/MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf index b4f6a7342e..7334c5cc50 100644 --- a/MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf +++ b/MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf @@ -31,4 +31,4 @@ [LibraryClasses] DebugLib - + StackCheckLib diff --git a/MdePkg/Library/StackCheckLib/StackCheckLib.inf b/MdePkg/Library/StackCheckLib/StackCheckLib.inf new file mode 100644 index 0000000000..ece291ea0b --- /dev/null +++ b/MdePkg/Library/StackCheckLib/StackCheckLib.inf @@ -0,0 +1,56 @@ +## @file +# Provides the required functionality for checking the stack cookie. +# +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: BSD-2-Clause-Patent +## + +[Defines] + INF_VERSION = 1.29 + BASE_NAME = StackCheckLib + FILE_GUID = 1C4CA056-8FEA-413C-89D2-59A7E22847B3 + MODULE_TYPE = BASE + VERSION_STRING = 1.0 + LIBRARY_CLASS = StackCheckLib + +[Sources] + StackCheckLibCommonMsvc.c | MSFT + StackCheckLibCommonGcc.c | GCC + +[Sources.IA32] + IA32/CheckCookieMsvc.nasm | MSFT + +[Sources.X64] + X64/CheckCookieMsvc.nasm | MSFT + +[Sources.IA32, Sources.X64] + IA32/StackCookieInterrupt.nasm + +[Sources.ARM] + Arm/StackCookieInterrupt.S |GCC + Arm/StackCookieInterrupt.asm |MSFT + +[Sources.AARCH64] + AArch64/StackCookieInterrupt.S |GCC + AArch64/StackCookieInterrupt.asm |MSFT + +[Packages] + MdePkg/MdePkg.dec + +[LibraryClasses] + StackCheckFailureHookLib + +[FixedPcd] + gEfiMdePkgTokenSpaceGuid.PcdStackCookieExceptionVector + +[BuildOptions] + # We cannot build the MSVC version with /GL (whole program optimization) because we run into linker error + # LNK1237, which is a failure to link against a symbol from a library compiled with /GL. The whole program + # optimization tries to do away with references to this symbol. The solution is to not compile the stack + # check libs with /GL + MSFT:*_*_*_CC_FLAGS = /GL- + + # We cannot build the GCC version with LTO (link time optimization) because we run into linker errors where + # the stack cookie variable has been optimized away, as it looks to GCC like the variable is not used, because + # the compiler inserts the usage. + GCC:*_*_*_CC_FLAGS = -fno-lto diff --git a/MdePkg/Library/StackCheckLib/StackCheckLibStaticInit.inf b/MdePkg/Library/StackCheckLib/StackCheckLibStaticInit.inf deleted file mode 100644 index ce8bc11f2b..0000000000 --- a/MdePkg/Library/StackCheckLib/StackCheckLibStaticInit.inf +++ /dev/null @@ -1,58 +0,0 @@ -## @file -# Provides the required functionality for checking the stack cookie. -# -# Copyright (c) Microsoft Corporation. -# SPDX-License-Identifier: BSD-2-Clause-Patent -## - -[Defines] - INF_VERSION = 1.29 - BASE_NAME = StackCheckLibStaticInit - FILE_GUID = 2b24dc50-e33d-4c9f-8b62-e826f06e483f - MODULE_TYPE = BASE - VERSION_STRING = 1.0 - LIBRARY_CLASS = NULL - -[Sources] - StackCheckLibCommonMsvc.c | MSFT - StackCheckLibCommonGcc.c | GCC - -[Sources.IA32] - IA32/CheckCookieMsvc.nasm | MSFT - -[Sources.X64] - X64/CheckCookieMsvc.nasm | MSFT - -[Sources.IA32, Sources.X64] - IA32/StackCookieInterrupt.nasm - -[Sources.ARM] - Arm/StackCookieInterrupt.S |GCC - Arm/StackCookieInterrupt.asm |MSFT - -[Sources.AARCH64] - AArch64/StackCookieInterrupt.S |GCC - AArch64/StackCookieInterrupt.asm |MSFT - -[Packages] - MdePkg/MdePkg.dec - -[LibraryClasses] - StackCheckFailureHookLib - BaseLib - DebugLib - -[FixedPcd] - gEfiMdePkgTokenSpaceGuid.PcdStackCookieExceptionVector - -[BuildOptions] - # We cannot build the MSVC version with /GL (whole program optimization) because we run into linker error - # LNK1237, which is a failure to link against a symbol from a library compiled with /GL. The whole program - # optimization tries to do away with references to this symbol. The solution is to not compile the stack - # check libs with /GL - MSFT:*_*_*_CC_FLAGS = /GL- - - # We cannot build the GCC version with LTO (link time optimization) because we run into linker errors where - # the stack cookie variable has been optimized away, as it looks to GCC like the variable is not used, because - # the compiler inserts the usage. - GCC:*_*_*_CC_FLAGS = -fno-lto diff --git a/MdePkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf b/MdePkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf index 1a6f255fac..03b33dce7c 100644 --- a/MdePkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf +++ b/MdePkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf @@ -30,3 +30,4 @@ [LibraryClasses] BaseLib DebugLib + StackCheckLib diff --git a/MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf b/MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf index 9303566309..ed2634ec37 100644 --- a/MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf +++ b/MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf @@ -36,6 +36,7 @@ BaseLib DebugLib MmServicesTableLib + StackCheckLib [Protocols] gEfiLoadedImageProtocolGuid ## SOMETIMES_CONSUMES diff --git a/MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf b/MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf index b9d5b047a4..a97423026b 100644 --- a/MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf +++ b/MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf @@ -32,4 +32,5 @@ UefiBootServicesTableLib DebugLib BaseLib + StackCheckLib diff --git a/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf b/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf index 1d9a8cc1ac..4f8153ea12 100644 --- a/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf +++ b/MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf @@ -36,6 +36,7 @@ UefiBootServicesTableLib DebugLib BaseLib + StackCheckLib [Protocols] diff --git a/MdePkg/MdePkg.dsc b/MdePkg/MdePkg.dsc index a793fce809..ccefe558f3 100644 --- a/MdePkg/MdePkg.dsc +++ b/MdePkg/MdePkg.dsc @@ -142,7 +142,7 @@ MdePkg/Library/StackCheckFailureHookLibNull/StackCheckFailureHookLibNull.inf MdePkg/Library/StackCheckLibNull/StackCheckLibNull.inf - MdePkg/Library/StackCheckLib/StackCheckLibStaticInit.inf + MdePkg/Library/StackCheckLib/StackCheckLib.inf [Components.IA32, Components.X64, Components.ARM, Components.AARCH64] # diff --git a/OvmfPkg/IntelTdx/Sec/SecMain.inf b/OvmfPkg/IntelTdx/Sec/SecMain.inf index cf95284f02..a9ba5c8f78 100644 --- a/OvmfPkg/IntelTdx/Sec/SecMain.inf +++ b/OvmfPkg/IntelTdx/Sec/SecMain.inf @@ -50,6 +50,7 @@ PeilessStartupLib PlatformInitLib CcProbeLib + StackCheckLib [Pcd] gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase diff --git a/OvmfPkg/Library/UefiDriverEntryPointFwCfgOverrideLib/UefiDriverEntryPointFwCfgOverrideLib.inf b/OvmfPkg/Library/UefiDriverEntryPointFwCfgOverrideLib/UefiDriverEntryPointFwCfgOverrideLib.inf index 19985b8c29..c72e701c96 100644 --- a/OvmfPkg/Library/UefiDriverEntryPointFwCfgOverrideLib/UefiDriverEntryPointFwCfgOverrideLib.inf +++ b/OvmfPkg/Library/UefiDriverEntryPointFwCfgOverrideLib/UefiDriverEntryPointFwCfgOverrideLib.inf @@ -31,6 +31,7 @@ DebugLib QemuFwCfgSimpleParserLib UefiBootServicesTableLib + StackCheckLib [Protocols] gEfiLoadedImageProtocolGuid ## SOMETIMES_CONSUMES diff --git a/OvmfPkg/LoongArchVirt/Sec/SecMain.inf b/OvmfPkg/LoongArchVirt/Sec/SecMain.inf index afa0ff8fd1..82d2f803d6 100644 --- a/OvmfPkg/LoongArchVirt/Sec/SecMain.inf +++ b/OvmfPkg/LoongArchVirt/Sec/SecMain.inf @@ -40,6 +40,7 @@ PeCoffGetEntryPointLib PeCoffExtraActionLib PeiServicesLib + StackCheckLib [Ppis] gEfiTemporaryRamSupportPpiGuid # PPI ALWAYS_PRODUCED diff --git a/OvmfPkg/RiscVVirt/Sec/SecMain.inf b/OvmfPkg/RiscVVirt/Sec/SecMain.inf index 73df0ee4cb..5a8cc49721 100644 --- a/OvmfPkg/RiscVVirt/Sec/SecMain.inf +++ b/OvmfPkg/RiscVVirt/Sec/SecMain.inf @@ -49,6 +49,7 @@ MemoryAllocationLib HobLib SerialPortLib + StackCheckLib [Ppis] gEfiTemporaryRamSupportPpiGuid # PPI ALWAYS_PRODUCED diff --git a/OvmfPkg/Sec/SecMain.inf b/OvmfPkg/Sec/SecMain.inf index 88c2d3fb6d..4a91fb2bbb 100644 --- a/OvmfPkg/Sec/SecMain.inf +++ b/OvmfPkg/Sec/SecMain.inf @@ -56,6 +56,7 @@ CpuExceptionHandlerLib CcProbeLib CpuPageTableLib + StackCheckLib [Ppis] gEfiTemporaryRamSupportPpiGuid # PPI ALWAYS_PRODUCED diff --git a/UefiCpuPkg/SecCore/SecCore.inf b/UefiCpuPkg/SecCore/SecCore.inf index 20a2ccef0b..94966f4edf 100644 --- a/UefiCpuPkg/SecCore/SecCore.inf +++ b/UefiCpuPkg/SecCore/SecCore.inf @@ -56,6 +56,7 @@ PeiServicesTablePointerLib HobLib CpuPageTableLib + StackCheckLib [Ppis] ## SOMETIMES_CONSUMES diff --git a/UefiCpuPkg/SecCore/SecCoreNative.inf b/UefiCpuPkg/SecCore/SecCoreNative.inf index 6d6d306294..facb79c2c4 100644 --- a/UefiCpuPkg/SecCore/SecCoreNative.inf +++ b/UefiCpuPkg/SecCore/SecCoreNative.inf @@ -53,6 +53,7 @@ PeiServicesTablePointerLib HobLib CpuPageTableLib + StackCheckLib [Ppis] ## SOMETIMES_CONSUMES diff --git a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf index e84ef664d3..da5a58ab22 100644 --- a/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf +++ b/UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf @@ -55,6 +55,7 @@ PeCoffLib PlatformSupportLib CpuLib + StackCheckLib [Guids] gEfiMemoryTypeInformationGuid diff --git a/UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf b/UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf index 01bb9a118a..8804ef6b9c 100644 --- a/UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf +++ b/UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf @@ -47,6 +47,7 @@ PeCoffLib CpuLib HobPrintLib + StackCheckLib [Guids] gEfiMemoryTypeInformationGuid -- cgit