mirror of https://github.com/acidanthera/audk.git
5920a9d16b
Currently, the PE/COFF image memory protection code uses the same code paths for protecting and unprotecting an image. This is strange, since unprotecting an image involves a single call into the CPU arch protocol to clear the permission attributes of the entire range, and there is no need to parse the PE/COFF headers again. So let's store the ImageRecord entries in a linked list, so we can find it again at unprotect time, and simply clear the permissions. Note that this fixes a DEBUG hang on an ASSERT() that occurs when the PE/COFF image fails to load, which causes UnprotectUefiImage() to be invoked before the image is fully loaded. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> |
||
---|---|---|
.. | ||
Dispatcher | ||
DxeMain | ||
Event | ||
FwVol | ||
FwVolBlock | ||
Gcd | ||
Hand | ||
Image | ||
Library | ||
Mem | ||
Misc | ||
SectionExtraction | ||
DxeCore.uni | ||
DxeCoreExtra.uni | ||
DxeMain.h | ||
DxeMain.inf |