summaryrefslogtreecommitdiffstats
path: root/MdePkg/Library/DynamicStackCookieEntryPointLib/Peim/PeimEntryPoint.c
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2025-02-08 11:25:19 +0100
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2025-02-11 20:25:08 +0000
commit96cf70951f53f16853fdd42129b73940e71bab2d (patch)
tree13dc48ccdae88f0426a05016239afcfa296a5f17 /MdePkg/Library/DynamicStackCookieEntryPointLib/Peim/PeimEntryPoint.c
parent5c3dcef94cf36646f75a44cb75c72beb34fa1fd0 (diff)
downloadedk2-96cf70951f53f16853fdd42129b73940e71bab2d.tar.gz
MdePkg/DynamicStackCookieEntryPointLib: Drop execute-in-place versions
SEC, PEI_CORE and PEIM type modules generally execute in place from memory that is not writable. This means that it is not generally possible to use an entrypoint implementation that stores a dynamically generated stack cookie into a global variable. For PEIMs in particular, there may be other options, such as a DEPEX on the permanent memory PPI, but the current dynamic implementations of the stack checking library entrypoints for PEI_CORE and PEIM modules must not be used as-is. So remove them, and update the readme accordingly. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Diffstat (limited to 'MdePkg/Library/DynamicStackCookieEntryPointLib/Peim/PeimEntryPoint.c')
-rw-r--r--MdePkg/Library/DynamicStackCookieEntryPointLib/Peim/PeimEntryPoint.c72
1 files changed, 0 insertions, 72 deletions
diff --git a/MdePkg/Library/DynamicStackCookieEntryPointLib/Peim/PeimEntryPoint.c b/MdePkg/Library/DynamicStackCookieEntryPointLib/Peim/PeimEntryPoint.c
deleted file mode 100644
index da03d61dac..0000000000
--- a/MdePkg/Library/DynamicStackCookieEntryPointLib/Peim/PeimEntryPoint.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/** @file
- Entry point to a PEIM.
-
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
-SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <PiPei.h>
-
-#include <Library/PeimEntryPoint.h>
-#include <Library/DebugLib.h>
-
-/**
- The entry point of PE/COFF Image for a PEIM.
-
- This function is the entry point for a PEIM. This function must call ProcessLibraryConstructorList()
- and ProcessModuleEntryPointList(). The return value from ProcessModuleEntryPointList() is returned.
- If _gPeimRevision is not zero and PeiServices->Hdr.Revision is less than _gPeimRevison, then ASSERT().
-
- @param FileHandle Handle of the file being invoked.
- @param PeiServices Describes the list of possible PEI Services.
-
- @retval EFI_SUCCESS The PEIM executed normally.
- @retval !EFI_SUCCESS The PEIM failed to execute normally.
-**/
-EFI_STATUS
-EFIAPI
-_CModuleEntryPoint (
- IN EFI_PEI_FILE_HANDLE FileHandle,
- IN CONST EFI_PEI_SERVICES **PeiServices
- )
-{
- if (_gPeimRevision != 0) {
- //
- // Make sure that the PEI spec revision of the platform is >= PEI spec revision of the driver
- //
- ASSERT ((*PeiServices)->Hdr.Revision >= _gPeimRevision);
- }
-
- //
- // Call constructor for all libraries
- //
- ProcessLibraryConstructorList (FileHandle, PeiServices);
-
- //
- // Call the driver entry point
- //
- return ProcessModuleEntryPointList (FileHandle, PeiServices);
-}
-
-/**
- Required by the EBC compiler and identical in functionality to _ModuleEntryPoint().
-
- This function is required to call _ModuleEntryPoint() passing in FileHandle and PeiServices.
-
- @param FileHandle Handle of the file being invoked.
- @param PeiServices Describes the list of possible PEI Services.
-
- @retval EFI_SUCCESS The PEIM executed normally.
- @retval !EFI_SUCCESS The PEIM failed to execute normally.
-
-**/
-EFI_STATUS
-EFIAPI
-EfiMain (
- IN EFI_PEI_FILE_HANDLE FileHandle,
- IN CONST EFI_PEI_SERVICES **PeiServices
- )
-{
- return _CModuleEntryPoint (FileHandle, PeiServices);
-}