audk/MdeModulePkg/Core
Ruiyu Ni 8a641d2b73 MdeModulePkg/SmmCore: Fix hang due to already-freed memory deference
SmiHandlerUnRegister() validates the DispatchHandle by checking
whether the first 32bit matches to a certain signature
(SMI_HANDLER_SIGNATURE).
But if a caller calls *UnRegister() twice and the memory freed by
first call still contains the signature, the second call may hang.

The patch fixes this issue by locating the DispatchHandle
in all SMI handlers, instead of checking the signature.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
2018-02-03 14:48:58 +08:00
..
Dxe MdeModulePkg/Core: fix feature conflict between NX and heap guard 2018-02-02 09:50:16 +08:00
DxeIplPeim MdeModulePkg DxeIpl: remove the hard code alignment adjustment in Decompress() 2018-01-19 13:20:29 +08:00
Pei MdeModulePkg PeiCore: Update debug message to print FV handle correctly 2017-12-28 15:21:39 +08:00
PiSmmCore MdeModulePkg/SmmCore: Fix hang due to already-freed memory deference 2018-02-03 14:48:58 +08:00
RuntimeDxe MdeModulePkg: Update RuntimeDxe Crc32 to check the input parameter 2017-10-16 11:23:07 +08:00