forked from OSchip/llvm-project
c8dda336bb
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/D18915 llvm-svn: 266297 |
||
---|---|---|
.. | ||
tests | ||
.clang-format | ||
CMakeLists.txt | ||
msan.cc | ||
msan.h | ||
msan.syms.extra | ||
msan_allocator.cc | ||
msan_allocator.h | ||
msan_blacklist.txt | ||
msan_chained_origin_depot.cc | ||
msan_chained_origin_depot.h | ||
msan_flags.h | ||
msan_flags.inc | ||
msan_interceptors.cc | ||
msan_interface_internal.h | ||
msan_linux.cc | ||
msan_new_delete.cc | ||
msan_origin.h | ||
msan_poisoning.cc | ||
msan_poisoning.h | ||
msan_report.cc | ||
msan_thread.cc | ||
msan_thread.h |