summaryrefslogtreecommitdiff
path: root/lib/msan
diff options
context:
space:
mode:
authorKamil Rytarowski <n54@gmx.com>2018-06-07 07:55:20 +0000
committerKamil Rytarowski <n54@gmx.com>2018-06-07 07:55:20 +0000
commit341133044563731df0c69a90abd52a57aa24c47e (patch)
tree03cb9231bcb602aab26d4a2918cfc8672d0c2ebd /lib/msan
parentce30747f4d0de2e549ebbde21d5ceddcbac27e75 (diff)
Disable recursive interceptors in signal(3)/MSan
Summary: signal(3) on NetBSD calls internally sigaction(2). Without disabling the recursive interceptor, there are false positives about uninitialized memory reads inside libc. This change fixes execution of such programs as sh(1) and vmstat(1) in the NetBSD userland. Sponsored by <The NetBSD Foundation> Reviewers: eugenis, vitalybuka, joerg Reviewed By: vitalybuka Subscribers: llvm-commits, #sanitizers Tags: #sanitizers Differential Revision: https://reviews.llvm.org/D47650 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@334168 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/msan')
-rw-r--r--lib/msan/msan_interceptors.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/msan/msan_interceptors.cc b/lib/msan/msan_interceptors.cc
index 5d4a43ddd..f0e9a258c 100644
--- a/lib/msan/msan_interceptors.cc
+++ b/lib/msan/msan_interceptors.cc
@@ -1292,6 +1292,7 @@ static int sigaction_impl(int signo, const __sanitizer_sigaction *act,
#define SIGNAL_INTERCEPTOR_SIGNAL_IMPL(func, signo, handler) \
{ \
handler = signal_impl(signo, handler); \
+ InterceptorScope interceptor_scope; \
return REAL(func)(signo, handler); \
}