]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibCore.c
ArmPkg/ArmMmuLib ARM: handle unmapped sections when updating permissions
[mirror_edk2.git] / ArmPkg / Library / ArmMmuLib / Arm / ArmMmuLibCore.c
index ec51e072ab43571dde03f29ff529643a7fc6dc07..889b22867dc79081a6a8bb79736533ccd8a27126 100644 (file)
@@ -695,8 +695,12 @@ UpdateSectionEntries (
     } else {\r
       // still a section entry\r
 \r
-      // mask off appropriate fields\r
-      Descriptor = CurrentDescriptor & ~EntryMask;\r
+      if (CurrentDescriptor != 0) {\r
+        // mask off appropriate fields\r
+        Descriptor = CurrentDescriptor & ~EntryMask;\r
+      } else {\r
+        Descriptor = ((UINTN)FirstLevelIdx + i) << TT_DESCRIPTOR_SECTION_BASE_SHIFT;\r
+      }\r
 \r
       // mask in new attributes and/or permissions\r
       Descriptor |= EntryValue;\r