summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/MdeModulePkg.uni
diff options
context:
space:
mode:
authorJian J Wang <jian.j.wang@intel.com>2018-10-24 10:26:07 +0800
committerJian J Wang <jian.j.wang@intel.com>2018-10-26 10:27:20 +0800
commit5323e918c39a04a872149737096db6ac9408f322 (patch)
treeca96fff0c536b7bca6bdff6a01ef2139edd1cc15 /MdeModulePkg/MdeModulePkg.uni
parenta6bde8a644694a69b66c0a2168fd7702176bbd46 (diff)
downloadedk2-5323e918c39a04a872149737096db6ac9408f322.tar.gz
edk2-5323e918c39a04a872149737096db6ac9408f322.tar.bz2
edk2-5323e918c39a04a872149737096db6ac9408f322.zip
MdeModulePkg: introduce UEFI freed-memory guard bit in HeapGuard PCD
UAF (Use-After-Free) memory issue is kind of illegal access to memory which has been freed. It can be detected by a new freed-memory guard enforced onto freed memory. BIT4 of following PCD is used to enable the freed-memory guard feature. gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask Please note this feature is for debug purpose and should not be enabled in product BIOS, and cannot be enabled with pool/page heap guard at the same time. It's disabled by default. 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> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Diffstat (limited to 'MdeModulePkg/MdeModulePkg.uni')
-rw-r--r--MdeModulePkg/MdeModulePkg.uni14
1 files changed, 10 insertions, 4 deletions
diff --git a/MdeModulePkg/MdeModulePkg.uni b/MdeModulePkg/MdeModulePkg.uni
index 9d2e473fa9..5fa7a6ae30 100644
--- a/MdeModulePkg/MdeModulePkg.uni
+++ b/MdeModulePkg/MdeModulePkg.uni
@@ -1224,14 +1224,20 @@
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHeapGuardPropertyMask_PROMPT #language en-US "The Heap Guard feature mask"
#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHeapGuardPropertyMask_HELP #language en-US "This mask is to control Heap Guard behavior.\n"
- "Note that due to the limit of pool memory implementation and the alignment\n"
- "requirement of UEFI spec, BIT7 is a try-best setting which cannot guarantee\n"
- "that the returned pool is exactly adjacent to head guard page or tail guard\n"
- "page.\n"
+ " Note:\n"
+ " a) Heap Guard is for debug purpose and should not be enabled in product"
+ " BIOS.\n"
+ " b) Due to the limit of pool memory implementation and the alignment"
+ " requirement of UEFI spec, BIT7 is a try-best setting which cannot"
+ " guarantee that the returned pool is exactly adjacent to head guard"
+ " page or tail guard page.\n"
+ " c) UEFI freed-memory guard and UEFI pool/page guard cannot be enabled"
+ " at the same time.\n"
" BIT0 - Enable UEFI page guard.<BR>\n"
" BIT1 - Enable UEFI pool guard.<BR>\n"
" BIT2 - Enable SMM page guard.<BR>\n"
" BIT3 - Enable SMM pool guard.<BR>\n"
+ " BIT4 - Enable UEFI freed-memory guard (Use-After-Free memory detection).<BR>\n"
" BIT7 - The direction of Guard Page for Pool Guard.\n"
" 0 - The returned pool is near the tail guard page.<BR>\n"
" 1 - The returned pool is near the head guard page.<BR>"