llvm-project/compiler-rt/lib
Maxim Ostapenko 62a0f55930 [sanitizer] Avoid possible deadlock in child process after fork
This patch addresses https://github.com/google/sanitizers/issues/774. When we
fork a multi-threaded process it's possible to deadlock if some thread acquired
StackDepot or allocator internal lock just before fork. In this case the lock
will never be released in child process causing deadlock on following memory alloc/dealloc
routine. While calling alloc/dealloc routines after multi-threaded fork is not allowed,
most of modern allocators (Glibc, tcmalloc, jemalloc) are actually fork safe. Let's do the same
for sanitizers except TSan that has complex locking rules.

Differential Revision: https://reviews.llvm.org/D33325

llvm-svn: 304285
2017-05-31 07:28:09 +00:00
..
BlocksRuntime Move tests for BlocksRuntime and builtins to corresponding directories under test/ 2014-02-14 09:47:31 +00:00
asan [sanitizer] Avoid possible deadlock in child process after fork 2017-05-31 07:28:09 +00:00
builtins Add generic __bswap[ds]i2 implementations 2017-05-25 14:52:14 +00:00
cfi CFI: Add a blacklist entry for std::_Sp_counted_ptr_inplace::_Sp_counted_ptr_inplace(). 2017-05-05 18:46:14 +00:00
dfsan [sanitizer-coverage] remove more unused code 2017-04-19 23:05:53 +00:00
esan [asan] Recommit of r301904: Add strndup/__strndup interceptors 2017-05-11 08:53:24 +00:00
interception [interception] Check for export table's size before referring to its elements. 2017-01-30 18:23:37 +00:00
lsan [sanitizer] Avoid possible deadlock in child process after fork 2017-05-31 07:28:09 +00:00
msan [sanitizer] Avoid possible deadlock in child process after fork 2017-05-31 07:28:09 +00:00
profile [profile] Sync up InstrProfData.inc (NFC) 2017-04-15 00:10:33 +00:00
safestack [compiler-rt] Do not introduce __sanitizer namespace globally 2016-09-15 21:02:18 +00:00
sanitizer_common [sanitizer] Add "isapla" to symbolizer's global symbols whitelist. 2017-05-30 19:52:34 +00:00
scudo [scudo] Check the return values of the pthread_* functions 2017-05-26 15:39:22 +00:00
stats Revert "[sancov] moving sancov rt to sancov/ directory" 2017-01-12 01:37:35 +00:00
tsan Don't require ThreadState to be contained within tls on all platforms 2017-05-25 17:41:10 +00:00
ubsan [Ubsan]Remove unused link libraries. 2017-05-17 19:37:27 +00:00
xray [XRay][compiler-rt] Add __xray_remove_customevent_handler(...) 2017-05-22 03:23:54 +00:00
CMakeLists.txt Revert "[sancov] moving sancov rt to sancov/ directory" 2017-01-12 01:37:35 +00:00