[edk2-devel] [Patch V2 2/2] UefiPayloadPkg: Remove clearing CR0.WP when protecting pagetable

Guo Dong guo.dong at intel.com
Fri Aug 12 22:57:48 UTC 2022


Reviewed-by: Guo Dong <guo.dong at intel.com>

-----Original Message-----
From: Tan, Dun <dun.tan at intel.com> 
Sent: Tuesday, August 9, 2022 10:34 PM
To: devel at edk2.groups.io
Cc: Dong, Guo <guo.dong at intel.com>; Ni, Ray <ray.ni at intel.com>; Maurice Ma <maurice.ma at intel.com>; You, Benjamin <benjamin.you at intel.com>; Rhodes, Sean <sean at starlabs.systems>
Subject: [Patch V2 2/2] UefiPayloadPkg: Remove clearing CR0.WP when protecting pagetable

Remove clearing CR0.WP when marking the memory used for page table as read-only in the page table itself created by UefiPayloadEntry.
This page table address is written to Cr3 after these protection steps. Till this, the memory used for page table is always RW.

Signed-off-by: Dun Tan <dun.tan at intel.com>
Cc: Guo Dong <guo.dong at intel.com>
Cc: Ray Ni <ray.ni at intel.com>
Cc: Maurice Ma <maurice.ma at intel.com>
Cc: Benjamin You <benjamin.you at intel.com>
Cc: Sean Rhodes <sean at starlabs.systems>
---
 UefiPayloadPkg/UefiPayloadEntry/X64/VirtualMemory.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/UefiPayloadPkg/UefiPayloadEntry/X64/VirtualMemory.c b/UefiPayloadPkg/UefiPayloadEntry/X64/VirtualMemory.c
index 74b667a62a..a586941352 100644
--- a/UefiPayloadPkg/UefiPayloadEntry/X64/VirtualMemory.c
+++ b/UefiPayloadPkg/UefiPayloadEntry/X64/VirtualMemory.c
@@ -622,12 +622,7 @@ EnablePageTableProtection (
   }
 
   //
-  // Disable write protection, because we need to mark page table to be write
-  // protected.
-  //
-  AsmWriteCr0 (AsmReadCr0 () & ~CR0_WP);
-
-  //
+  // No need to clear CR0.WP since PageTableBase has't been written to CR3 yet.
   // SetPageTablePoolReadOnly might update mPageTablePool. It's safer to
   // remember original one in advance.
   //
--
2.31.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#92399): https://edk2.groups.io/g/devel/message/92399
Mute This Topic: https://groups.io/mt/92931316/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list