summaryrefslogtreecommitdiffstats
path: root/FmpDevicePkg
diff options
context:
space:
mode:
authorDun Tan <dun.tan@intel.com>2023-04-20 16:09:15 +0800
committerRay Ni <ray.ni@intel.com>2023-06-30 11:07:40 +0530
commitef64ae06f8065eba5981cfcf0817a006933a306a (patch)
treed1cd4eddf32883f94ad4288be53eed668509a9eb /FmpDevicePkg
parent7b6e7d009872af68319e9a91725911829cc59fb7 (diff)
downloadedk2-ef64ae06f8065eba5981cfcf0817a006933a306a.tar.gz
edk2-ef64ae06f8065eba5981cfcf0817a006933a306a.tar.bz2
edk2-ef64ae06f8065eba5981cfcf0817a006933a306a.zip
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 'FmpDevicePkg')
0 files changed, 0 insertions, 0 deletions