audk/MdeModulePkg/Core/Dxe/Misc
Ard Biesheuvel 7eb927db3e MdeModulePkg/DxeCore: implement memory protection policy
This implements a DXE memory protection policy that ensures that regions
that don't require executable permissions are mapped with the non-exec
attribute set.

First of all, it iterates over all entries in the UEFI memory map, and
removes executable permissions according to the configured DXE memory
protection policy, as recorded in PcdDxeNxMemoryProtectionPolicy.

Secondly, it sets or clears the non-executable attribute when allocating
or freeing pages, both for page based or pool based allocations.

Note that this complements the image protection facility, which applies
strict permissions to BootServicesCode/RuntimeServicesCode regions when
the section alignment allows it. The memory protection configured by this
patch operates on non-code regions only.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2017-02-28 15:01:10 +00:00
..
DebugImageInfo.c Add new PCD gEfiMdeModulePkgTokenSpaceGuid.PcdMaxEfiSystemTablePointerAddress for the MdeModulePkg that allows the platform DSC file to specify the address below which the EFI_SYSTEM_TABLE_POINTER structure is allocated. 2010-11-09 07:54:53 +00:00
InstallConfigurationTable.c Update the comments of InstallConfigurationTable to follow UEFI Spec. 2011-05-31 03:15:58 +00:00
MemoryAttributesTable.c MdeModulePkg-DxeCore: rename CoreGetMemoryMapPropertiesTable 2016-05-16 08:53:37 +08:00
MemoryProtection.c MdeModulePkg/DxeCore: implement memory protection policy 2017-02-28 15:01:10 +00:00
PropertiesTable.c MdeModulePkg/DxeCore: Add UEFI image protection. 2017-02-22 14:07:04 +08:00
SetWatchdogTimer.c Update the copyright notice format 2010-04-24 09:49:11 +00:00
Stall.c MdeModulePkg/Stall: Refine to compare 2 values with the same type 2017-01-12 21:26:27 +08:00