diff options
author | Ard Biesheuvel <ardb@kernel.org> | 2025-02-08 11:25:19 +0100 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2025-02-11 20:25:08 +0000 |
commit | 96cf70951f53f16853fdd42129b73940e71bab2d (patch) | |
tree | 13dc48ccdae88f0426a05016239afcfa296a5f17 /MdePkg/Library/DynamicStackCookieEntryPointLib/Peim/PeimEntryPoint.c | |
parent | 5c3dcef94cf36646f75a44cb75c72beb34fa1fd0 (diff) | |
download | edk2-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.c | 72 |
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);
-}
|