diff options
author | Damian Nikodem <damian.nikodem@intel.com> | 2019-08-20 01:48:45 +0800 |
---|---|---|
committer | Ray Ni <ray.ni@intel.com> | 2019-08-21 02:44:48 +0800 |
commit | 4201098e97fe53275638ebc64e9aa90b537199b9 (patch) | |
tree | 80315ba2b5247c2fb51308c1ebeef26c864bd900 /BaseTools/Source/Python | |
parent | ada905ab5c0e7ea7017e71d52219aaec1abd8dcb (diff) | |
download | edk2-4201098e97fe53275638ebc64e9aa90b537199b9.zip edk2-4201098e97fe53275638ebc64e9aa90b537199b9.tar.gz edk2-4201098e97fe53275638ebc64e9aa90b537199b9.tar.bz2 |
UefiCpuPkg/PiSmmCpuDxeSmm: don't free page table pages that are required to handle current page fault
Reclaim may free page table pages that are required to handle current page
fault. This causes a page leak, and, after sufficent number of specific
page fault+reclaim pairs, we run out of reclaimable pages and hit:
ASSERT (MinAcc != (UINT64)-1);
To remedy, prevent pages essential to handling current page fault:
(1) from being considered as reclaim candidates (first reclaim phase)
(2) from being freed as part of "branch cleanup" (second reclaim phase)
Signed-off-by: Damian Nikodem <damian.nikodem@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Krzysztof Rusocki <krzysztof.rusocki@intel.com>
Diffstat (limited to 'BaseTools/Source/Python')
0 files changed, 0 insertions, 0 deletions