[llvm] f4fc66b - [JITLink] Assert that segment mapping does not exceed allocation size.

Lang Hames via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 9 20:41:54 PST 2021


Author: Lang Hames
Date: 2021-03-09T20:40:24-08:00
New Revision: f4fc66b7a06bcad060bab5325e046d0b01031ea6

URL: https://github.com/llvm/llvm-project/commit/f4fc66b7a06bcad060bab5325e046d0b01031ea6
DIFF: https://github.com/llvm/llvm-project/commit/f4fc66b7a06bcad060bab5325e046d0b01031ea6.diff

LOG: [JITLink] Assert that segment mapping does not exceed allocation size.

Added: 
    

Modified: 
    llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp b/llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
index 63a9b7bf100d..36067ccf2753 100644
--- a/llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
+++ b/llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
@@ -113,6 +113,8 @@ InProcessMemoryManager::allocate(const JITLinkDylib *JD,
 
     uint64_t SegmentSize = alignTo(Seg.getContentSize() + Seg.getZeroFillSize(),
                                    sys::Process::getPageSizeEstimate());
+    assert(SlabRemaining.allocatedSize() >= SegmentSize &&
+           "Mapping exceeds allocation");
 
     sys::MemoryBlock SegMem(SlabRemaining.base(), SegmentSize);
     SlabRemaining = sys::MemoryBlock((char *)SlabRemaining.base() + SegmentSize,


        


More information about the llvm-commits mailing list