hanchenye-llvm-project/compiler-rt/lib/dfsan
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
..
scripts Add api_list entries for the dfsan-based fuzzer 2015-05-06 22:41:34 +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 [cmake] Address Samsonov's post-commit review of r262723 2016-03-05 10:01:04 +00:00
dfsan.cc [sanitizer] [SystemZ] Abort if the kernel might be vulnerable to CVE-2016-2143. 2016-04-27 17:42:00 +00:00
dfsan.h [compiler-rt] [dfsan] Unify aarch64 mapping 2015-11-27 12:43:33 +00:00
dfsan.syms.extra
dfsan_custom.cc [compiler-rt] Apply modernize-use-nullptr fixes in sanitizers 2015-10-01 00:22:21 +00:00
dfsan_flags.inc [Sanitizer] Change the runtime flag representation. 2015-01-07 00:38:00 +00:00
dfsan_interceptors.cc
dfsan_platform.h [compiler-rt] [dfsan] Unify aarch64 mapping 2015-11-27 12:43:33 +00:00
done_abilist.txt [libFuzzer/DFSan] add more __sanitizer callbacks to dfsan blacklist 2015-08-05 18:20:15 +00:00
libc_ubuntu1404_abilist.txt [dfsan] Upgrade ABI list to Ubuntu 14.04. 2014-11-05 17:21:06 +00:00