mirror of https://github.com/acidanthera/audk.git
861c8dff2f
This solution is equivalent to DXE core. AllocatePool() allocates POOL_TAIL after the buffer. This POOL_TAIL is checked at FreePool(). If the there is buffer overflow, the issue can be caught at FreePool(). This patch could also handle the eight-byte aligned allocation requirement. The discussion related to the eight-byte aligned allocation requirement is at https://lists.01.org/pipermail/edk2-devel/2017-April/009995.html. According to the PI spec (Vol 4, Section 3.2 SmmAllocatePool()): The SmmAllocatePool() function ... All allocations are eight-byte aligned. Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Hao Wu <hao.a.wu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> |
||
---|---|---|
.. | ||
Dependency.c | ||
Dispatcher.c | ||
Handle.c | ||
InstallConfigurationTable.c | ||
Locate.c | ||
MemoryAttributesTable.c | ||
Notify.c | ||
Page.c | ||
PiSmmCore.c | ||
PiSmmCore.h | ||
PiSmmCore.inf | ||
PiSmmCore.uni | ||
PiSmmCoreExtra.uni | ||
PiSmmCorePrivateData.h | ||
PiSmmIpl.c | ||
PiSmmIpl.inf | ||
PiSmmIpl.uni | ||
PiSmmIplExtra.uni | ||
Pool.c | ||
Smi.c | ||
SmiHandlerProfile.c | ||
SmramProfileRecord.c |