MdeModulePkg PiSmmCore: Set ForwardLink to NULL in RemoveOldEntry()
authorStar Zeng <star.zeng@intel.com>
Thu, 25 Jan 2018 03:20:04 +0000 (11:20 +0800)
committerStar Zeng <star.zeng@intel.com>
Wed, 31 Jan 2018 09:23:36 +0000 (17:23 +0800)
commite434be3c9c03fde122d878a9487915db96c479ce
treedade04799ae5c2141a5ccd56acea8d954e1cd629
parent19ef86eec6ed67c11b6a942865b143123180d394
MdeModulePkg PiSmmCore: Set ForwardLink to NULL in RemoveOldEntry()

"Entry->Link.ForwardLink = NULL;" is present in RemoveMemoryMapEntry()
for DxeCore, that is correct.
"Entry->Link.ForwardLink = NULL;" is absent in RemoveOldEntry()
for PiSmmCore, that is incorrect.

Without this fix, when FromStack in Entry is TRUE,
the "InsertTailList (&mMapStack[mMapDepth].Link, &Entry->Link);" in
following calling to CoreFreeMemoryMapStack() will fail as the entry
at mMapStack[mMapDepth] actually has been removed from the list.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
MdeModulePkg/Core/PiSmmCore/Page.c