llvm-project/compiler-rt/lib/tsan
Marcin Koscielnicki b7b5ac60c4 [sanitizer] [SystemZ] Abort if the kernel might be vulnerable to CVE-2016-2143.
In short, CVE-2016-2143 will crash the machine if a process uses both >4TB
virtual addresses and fork().  ASan, TSan, and MSan will, by necessity, map
a sizable chunk of virtual address space, which is much larger than 4TB.
Even worse, sanitizers will always use fork() for llvm-symbolizer when a bug
is detected.  Disable all three by aborting on process initialization if
the running kernel version is not known to contain a fix.

Unfortunately, there's no reliable way to detect the fix without crashing
the kernel.  So, we rely on whitelisting - I've included a list of upstream
kernel versions that will work.  In case someone uses a distribution kernel
or applied the fix themselves, an override switch is also included.

Differential Revision: http://reviews.llvm.org/D19576

llvm-svn: 267747
2016-04-27 17:42:00 +00:00
..
benchmarks [tsan] ThreadSanitizer tests and micro benchmarks. No makefiles yet. 2012-05-10 14:18:22 +00:00
dd [cmake] Address Samsonov's post-commit review of r262723 2016-03-05 10:01:04 +00:00
go tsan: fix build 2016-04-27 12:59:35 +00:00
rtl [sanitizer] [SystemZ] Abort if the kernel might be vulnerable to CVE-2016-2143. 2016-04-27 17:42:00 +00:00
tests tsan: change tsan/Go interface for obtaining the current Processor 2016-04-27 12:30:48 +00:00
.clang-format Tell clang-format that (most) sanitizers are written using Google style guide. 2015-11-19 22:11:10 +00:00
CMakeLists.txt tsan: split thread into logical and physical state 2016-04-27 08:23:02 +00:00
analyze_libtsan.sh [TSan] Slightly improve check_analyze script. 2015-12-07 20:18:50 +00:00
check_analyze.sh [TSan] Adjust expectation for check_analyze.sh 2016-02-13 00:55:58 +00:00
check_cmake.sh tsan: use a different dir for llvm build 2014-10-15 08:56:15 +00:00