[compiler-rt] r223456 - tsan: protect trace memory range on startup

Dmitry Vyukov dvyukov at google.com
Fri Dec 5 02:06:07 PST 2014


Author: dvyukov
Date: Fri Dec  5 04:06:06 2014
New Revision: 223456

URL: http://llvm.org/viewvc/llvm-project?rev=223456&view=rev
Log:
tsan: protect trace memory range on startup

so that user does not map something there ahead of us


Modified:
    compiler-rt/trunk/lib/tsan/rtl/tsan_platform_linux.cc

Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_platform_linux.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_platform_linux.cc?rev=223456&r1=223455&r2=223456&view=diff
==============================================================================
--- compiler-rt/trunk/lib/tsan/rtl/tsan_platform_linux.cc (original)
+++ compiler-rt/trunk/lib/tsan/rtl/tsan_platform_linux.cc Fri Dec  5 04:06:06 2014
@@ -324,6 +324,9 @@ static void CheckAndProtect() {
   ProtectRange(kLoAppMemEnd, kShadowBeg);
   ProtectRange(kShadowEnd, kMetaShadowBeg);
   ProtectRange(kMetaShadowEnd, kTraceMemBeg);
+  // Memory for traces is mapped lazily in MapThreadTrace.
+  // Protect the whole range for now, so that user does not map something here.
+  ProtectRange(kTraceMemBeg, kTraceMemEnd);
   ProtectRange(kTraceMemEnd, kHeapMemBeg);
   ProtectRange(kHeapMemEnd + PrimaryAllocator::AdditionalSize(), kHiAppMemBeg);
 }





More information about the llvm-commits mailing list