summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python
diff options
context:
space:
mode:
authorJian J Wang <jian.j.wang@intel.com>2018-10-24 11:28:32 +0800
committerJian J Wang <jian.j.wang@intel.com>2018-10-26 10:30:34 +0800
commitbb685071c2602cf786ea84c69bbebf2158194a38 (patch)
tree092a1c2345f1bab1ea166641adbd9aea159c0175 /BaseTools/Source/Python
parent54efcfea8120d9a0595d0db6cd5c1dddd8dd61e1 (diff)
downloadedk2-bb685071c2602cf786ea84c69bbebf2158194a38.tar.gz
edk2-bb685071c2602cf786ea84c69bbebf2158194a38.tar.bz2
edk2-bb685071c2602cf786ea84c69bbebf2158194a38.zip
MdeModulePkg/Core: prevent re-acquire GCD memory lock
This issue is hidden in current code but exposed by introduction of freed-memory guard feature due to the fact that the feature will turn all pool allocation to page allocation. The solution is moving the memory allocation in CoreGetMemorySpaceMap() to be out of the GCD memory map lock. CoreDumpGcdMemorySpaceMap() => CoreGetMemorySpaceMap() => CoreAcquireGcdMemoryLock () * AllocatePool() => InternalAllocatePool() => CoreAllocatePool() => CoreAllocatePoolI() => CoreAllocatePoolPagesI() => CoreAllocatePoolPages() => FindFreePages() => PromoteMemoryResource() => CoreAcquireGcdMemoryLock() ** Cc: Star Zeng <star.zeng@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jian J Wang <jian.j.wang@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
Diffstat (limited to 'BaseTools/Source/Python')
0 files changed, 0 insertions, 0 deletions