diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2022-01-21 20:58:48 +0800 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2022-02-07 05:31:17 +0000 |
commit | f78b937c95ddc4f7a29e41fee98e96076828a108 (patch) | |
tree | 4683734f86ed4cbfa5041bd469c7c4797883542f /MdeModulePkg | |
parent | d4ac53aa91b8a3602166c6adcb9ba8678e0ae969 (diff) | |
download | edk2-f78b937c95ddc4f7a29e41fee98e96076828a108.tar.gz |
MdeModulePkg/RuntimeDxe: clear mVirtualMapMaxIndex
When setting mVirtualMap to NULL also set mVirtualMapMaxIndex to 0.
Without that RuntimeDriverConvertPointer() will go search the ZeroPage
for EFI_MEMORY_DESCRIPTOR entries.
In case mVirtualMapMaxIndex happens to be small small enough that'll go
unnoticed, the search will not find anything and EFI_NOT_FOUND will be
returned.
In case mVirtualMapMaxIndex is big enough the search will reach the end
of the ZeroPage and trigger a page fault.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
Diffstat (limited to 'MdeModulePkg')
-rw-r--r-- | MdeModulePkg/Core/RuntimeDxe/Runtime.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/MdeModulePkg/Core/RuntimeDxe/Runtime.c b/MdeModulePkg/Core/RuntimeDxe/Runtime.c index 2a54140873..de8f2bfce0 100644 --- a/MdeModulePkg/Core/RuntimeDxe/Runtime.c +++ b/MdeModulePkg/Core/RuntimeDxe/Runtime.c @@ -365,7 +365,8 @@ RuntimeDriverSetVirtualAddressMap ( //
// mVirtualMap is only valid during SetVirtualAddressMap() call
//
- mVirtualMap = NULL;
+ mVirtualMap = NULL;
+ mVirtualMapMaxIndex = 0;
return EFI_SUCCESS;
}
|