mirror of
https://git.proxmox.com/git/mirror_edk2
synced 2026-01-02 02:11:56 +00:00
In CoreFreePages(), the following sequence might break the MemoryMap internal structure: CoreConvertPages() -> CoreFreeMemoryMapStack() -> AllocateMemoryMapEntry() -> CoreAllocatePoolPages() -> DEBUG_CLEAR_MEMORY() CoreConvertPages() will call CoreFreeMemoryMapStack() after it adds the freed memory range, so the latter might use the just freed memory range when calling AllocateMemoryMapEntry(). But CoreFreePages() will call DEBUG_CLEAR_MEMORY() after CoreConvertPages(). This might clear up the memory map entry structure. The fix calls DEBUG_CLEAR_MEMORY() just after freed memory range is added in CoreConvertPages(), which is safe. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10335 6f19259b-4bc3-4df7-8a09-765794883524 |
||
|---|---|---|
| .. | ||
| Dispatcher | ||
| DxeMain | ||
| Event | ||
| FwVol | ||
| FwVolBlock | ||
| Gcd | ||
| Hand | ||
| Image | ||
| Library | ||
| Mem | ||
| Misc | ||
| SectionExtraction | ||
| DxeMain.h | ||
| DxeMain.inf | ||