audk/MdeModulePkg/Core/Dxe
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
..
Dispatcher MdeModulePkg: Use EfiEventEmptyFunction from UefiLib 2017-01-20 15:51:18 +08:00
DxeMain MdeModulePkg/DxeCore: Add UEFI image protection. 2017-02-22 14:07:04 +08:00
Event MdeModulePkg: Use EfiEventEmptyFunction from UefiLib 2017-01-20 15:51:18 +08:00
FwVol MdeModulePkg/Core: Fix typos in comments 2016-10-27 09:11:17 +08:00
FwVolBlock MdeModulePkg DxeCore: Show error message on unaligned FvImage issue 2016-11-17 09:27:11 +08:00
Gcd MdeModulePkg/DxeCore:Clear RT attribute on SetCapabilities. 2017-01-12 15:58:13 +08:00
Hand MdeModulePkg/Core: Fix typos in comments 2016-10-27 09:11:17 +08:00
Image MdeModulePkg/DxeCore: Add UEFI image protection. 2017-02-22 14:07:04 +08:00
Library Update the copyright notice format 2010-04-24 09:49:11 +00:00
Mem MdeModulePkg/DxeCore: implement memory protection policy 2017-02-28 15:01:10 +00:00
Misc MdeModulePkg/DxeCore: implement memory protection policy 2017-02-28 15:01:10 +00:00
SectionExtraction MdeModulePkg: Fix typos in comments and variables 2016-07-11 10:29:48 +08:00
DxeCore.uni MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
DxeCoreExtra.uni MdeModulePkg: Convert all .uni files to utf-8 2015-12-15 04:56:23 +00:00
DxeMain.h MdeModulePkg/DxeCore: implement memory protection policy 2017-02-28 15:01:10 +00:00
DxeMain.inf MdeModulePkg/DxeCore: implement memory protection policy 2017-02-28 15:01:10 +00:00