]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/Dxe/Mem/Pool.c
MdeModulePkg/DxeCore: implement memory protection policy
[mirror_edk2.git] / MdeModulePkg / Core / Dxe / Mem / Pool.c
index ebb2fceedd8050c7202a20791b8ee278ece4ab91..ced64443c77d982b1db4cfaaf947d91e28a0c3f8 100644 (file)
@@ -310,6 +310,10 @@ CoreAllocatePoolPagesI (
   Buffer = CoreAllocatePoolPages (PoolType, NoPages, Granularity);\r
   CoreReleaseMemoryLock ();\r
 \r
+  if (Buffer != NULL) {\r
+    ApplyMemoryProtectionPolicy (EfiConventionalMemory, PoolType,\r
+      (EFI_PHYSICAL_ADDRESS)(UINTN)Buffer, EFI_PAGES_TO_SIZE (NoPages));\r
+  }\r
   return Buffer;\r
 }\r
 \r
@@ -560,6 +564,9 @@ CoreFreePoolPagesI (
   CoreAcquireMemoryLock ();\r
   CoreFreePoolPages (Memory, NoPages);\r
   CoreReleaseMemoryLock ();\r
+\r
+  ApplyMemoryProtectionPolicy (PoolType, EfiConventionalMemory,\r
+    (EFI_PHYSICAL_ADDRESS)(UINTN)Memory, EFI_PAGES_TO_SIZE (NoPages));\r
 }\r
 \r
 /**\r