diff options
author | Dun Tan <dun.tan@intel.com> | 2023-04-20 16:09:15 +0800 |
---|---|---|
committer | Ray Ni <ray.ni@intel.com> | 2023-06-30 11:07:40 +0530 |
commit | ef64ae06f8065eba5981cfcf0817a006933a306a (patch) | |
tree | d1cd4eddf32883f94ad4288be53eed668509a9eb /EmulatorPkg/EmuSimpleFileSystemDxe | |
parent | 7b6e7d009872af68319e9a91725911829cc59fb7 (diff) | |
download | edk2-ef64ae06f8065eba5981cfcf0817a006933a306a.tar.gz |
UefiCpuPkg/PiSmmCpuDxeSmm: Clear CR0.WP before modify page table
Clear CR0.WP before modify smm page table. Currently, there is
an assumption that smm pagetable is always RW before ReadyToLock.
However, when AMD SEV is enabled, FvbServicesSmm driver calls
MemEncryptSevClearMmioPageEncMask to clear AddressEncMask bit
in smm page table for this range:
[PcdOvmfFdBaseAddress,PcdOvmfFdBaseAddress+PcdOvmfFirmwareFdSize]
If page slpit happens in this process, new memory for smm page
table is allocated. Then the newly allocated page table memory
is marked as RO in smm page table in this FvbServicesSmm driver,
which may lead to PF if smm code doesn't clear CR0.WP before
modify smm page table when ReadyToLock.
Signed-off-by: Dun Tan <dun.tan@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'EmulatorPkg/EmuSimpleFileSystemDxe')
0 files changed, 0 insertions, 0 deletions