Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Jian J Wang bb685071c2 MdeModulePkg/Core: prevent re-acquire GCD memory lock
This issue is hidden in current code but exposed by introduction
of freed-memory guard feature due to the fact that the feature
will turn all pool allocation to page allocation.

The solution is moving the memory allocation in CoreGetMemorySpaceMap()
to be out of the GCD memory map lock.

   CoreDumpGcdMemorySpaceMap()
=> CoreGetMemorySpaceMap()
=> CoreAcquireGcdMemoryLock () *
   AllocatePool()
=> InternalAllocatePool()
=> CoreAllocatePool()
=> CoreAllocatePoolI()
=> CoreAllocatePoolPagesI()
=> CoreAllocatePoolPages()
=> FindFreePages()
=> PromoteMemoryResource()
=> CoreAcquireGcdMemoryLock()  **

Cc: Star Zeng <star.zeng@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jian J Wang <jian.j.wang@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
2018-10-26 10:30:34 +08:00
AppPkg AppPkg: Removing ipf which is no longer supported from edk2. 2018-06-29 16:19:35 +08:00
ArmPkg ArmPkg: Add support for GICv4 2018-10-12 17:40:33 +02:00
ArmPlatformPkg ArmPlatformPkg: Removing ipf which is no longer supported from edk2. 2018-06-29 16:19:36 +08:00
ArmVirtPkg ArmVirtPkg/PlatformBDS: Implement PlatformBootManagerUnableToBoot 2018-07-27 15:47:55 +08:00
BaseTools BaseTools/GenFds: create and use new variable in FdfParser 2018-10-25 20:17:38 +08:00
BeagleBoardPkg BeagleBoardPkg: Removing ipf which is no longer supported from edk2. 2018-06-29 16:19:37 +08:00
Conf EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
CorebootModulePkg CorebootModulePkg: Removing ipf from edk2. 2018-08-14 08:58:28 +08:00
CorebootPayloadPkg CorebootPayloadPkg: don't use serial output for Release build 2018-10-17 10:35:16 +08:00
CryptoPkg CryptoPkg: Removing ipf which is no longer supported from edk2. 2018-09-25 23:40:41 +08:00
DuetPkg DuetPkg: Removing ipf which is no longer supported from edk2. 2018-06-29 16:19:38 +08:00
EdkCompatibilityPkg EdkCompatibilityPkg: Removing ipf from edk2. 2018-09-25 23:43:46 +08:00
EdkShellBinPkg EdkShellBinPkg: Removing ipf which is no longer supported from edk2. 2018-06-29 16:19:38 +08:00
EdkShellPkg EdkShellPkg: Removing ipf which is no longer supported from edk2. 2018-06-29 16:19:42 +08:00
EmbeddedPkg EmbeddedPkg/VirtualKeyboard: Avoid notification called more than once 2018-09-14 10:18:31 +08:00
EmulatorPkg EmulatorPkg/EmulatorPkg.dsc: override PCD default to avoid boot failure 2018-09-28 10:19:35 +08:00
FatPkg FatPkg: Correct the line ending to CRLF 2018-10-24 15:22:31 +08:00
FmpDevicePkg FmpDevicePkg FmpDxe: Lock variables in entrypoint instead of callback 2018-08-08 19:18:29 +08:00
IntelFrameworkModulePkg IntelFrameworkModulePkg: Add more checker in UefiTianoDecompressLib (CVE FIX) 2018-10-24 08:24:14 +08:00
IntelFrameworkPkg IntelFrameworkPkg FrameworkUefiLib: Add new EfiLocateXXXAcpiTable APIs 2018-09-27 14:25:32 +08:00
IntelFsp2Pkg IntelFsp2Pkg: FSP should not override IDT 2018-10-25 17:01:36 +08:00
IntelFsp2WrapperPkg IntelFsp2WrapperPkg/BaseFspWrapperPlatformLibSample: Remove PCDs 2018-09-28 10:55:10 +08:00
IntelFspPkg edk2: Move License.txt file to root 2017-08-03 11:02:17 -07:00
IntelFspWrapperPkg edk2: Move License.txt file to root 2017-08-03 11:02:17 -07:00
IntelSiliconPkg IntelSiliconPkg VTdDxe: Report status code for VTd error 2018-10-25 11:50:49 +08:00
MdeModulePkg MdeModulePkg/Core: prevent re-acquire GCD memory lock 2018-10-26 10:30:34 +08:00
MdePkg MdePkg: Handle AcpiExp device path when optional para is not specified 2018-10-24 22:15:57 +08:00
NetworkPkg NetworkPkg/IpSecDxe: Fix issue to parse SA Payload. 2018-10-22 09:04:57 +08:00
Nt32Pkg Nt32Pkg/Nt32Pkg.dsc: override PCD default to avoid boot failure 2018-09-28 10:19:35 +08:00
Omap35xxPkg Omap35xxPkg: Removing ipf which is no longer supported from edk2. 2018-06-29 16:19:46 +08:00
OptionRomPkg OptionRomPkg: Removing ipf which is no longer supported from edk2. 2018-09-06 14:44:30 +08:00
OvmfPkg OvmfPkg/PlatformPei: clear CPU caches 2018-10-05 22:02:55 +02:00
PcAtChipsetPkg PcAtChipsetPkg PcRtc: Use new EfiLocateFirstAcpiTable() 2018-09-27 14:25:35 +08:00
QuarkPlatformPkg QuarkPlatformPkg: Removing ipf which is no longer supported from edk2. 2018-08-14 08:58:30 +08:00
QuarkSocPkg QuarkSocPkg: Removing ipf which is no longer supported from edk2. 2018-08-14 08:58:32 +08:00
SecurityPkg SecurityPkg/Include/Library/TcgStorageOpalLib.h: Update Pyrite spec revision. 2018-10-26 09:44:47 +08:00
ShellBinPkg ShellBinPkg: Clean up source files 2018-06-28 11:19:51 +08:00
ShellPkg ShellPkg/dmem: Only dump sizeof (EFI_SYSTEM_TABLE) bytes for gST 2018-10-24 12:18:22 +08:00
SignedCapsulePkg SignedCapsulePkg: Remove PalLib in dsc which was missed at 52664c5 2018-09-25 23:40:40 +08:00
SourceLevelDebugPkg SourceLevelDebugPkg/Usb3: Make sure data from HW can fit in buffer 2018-10-17 11:03:59 +08:00
StandaloneMmPkg StandaloneMmPkg: Describe the declaration and definition files. 2018-07-20 10:59:56 +08:00
StdLib StdLib: Removing ipf which is no longer supported from edk2. 2018-06-29 16:19:51 +08:00
StdLibPrivateInternalFiles StdLibPrivateInternalFiles: Removing ipf from edk2. 2018-06-29 16:19:51 +08:00
UefiCpuPkg UefiCpuPkg/CpuDxe: prevent recursive calling of InitializePageTablePool 2018-10-26 10:30:34 +08:00
UnixPkg UnixPkg: Remove UnixPkg files (It is replaced by EmulatorPkg) 2013-07-29 21:09:55 +00:00
Vlv2DeviceRefCodePkg edk2: Move License.txt file to root 2017-08-03 11:02:17 -07:00
Vlv2TbltDevicePkg Vlv2TbltDevicePkg: Removing ipf which from edk2. 2018-08-14 08:58:33 +08:00
.gitignore edk2: Add .DS_Store to .gitignore for macOS 2017-05-19 15:14:34 -07:00
.gitmodules CryptoPkg: Adding OpenSSL as one submodule of EDKII repo 2018-01-18 14:06:15 +08:00
BuildNotes2.txt BaseTools: Updated BuildNotes URLs 2016-03-25 09:46:44 +08:00
Contributions.txt edk2: Fix typo in Contributions.txt 2017-08-16 17:50:44 +08:00
License.txt edk2: Move License.txt file to root 2017-08-03 11:02:17 -07:00
Maintainers.txt Maintainers.txt: add DynamicTablesPkg 2018-10-25 11:04:28 +01:00
Readme.md edk2: Add Readme.md to root of edk2 repository 2017-08-03 11:02:25 -07:00
edksetup.bat BaseTools: Fix incorrect %EDK_TOOLS_PATH% 2018-08-08 08:44:22 +08:00
edksetup.sh Revert BaseTools: PYTHON3 migration 2018-10-15 08:29:14 +08:00

Readme.md

EDK II Project

A modern, feature-rich, cross-platform firmware development environment for the UEFI and PI specifications from www.uefi.org.

Contributions to the EDK II open source project are covered by the TianoCore Contribution Agreement 1.1

The majority of the content in the EDK II open source project uses a BSD 2-Clause License. The EDK II open source project contains the following components that are covered by additional licenses:

The EDK II Project is composed of packages. The maintainers for each package are listed in Maintainers.txt.

Resources