diff options
author | Kamil Rytarowski <n54@gmx.com> | 2018-06-07 07:55:20 +0000 |
---|---|---|
committer | Kamil Rytarowski <n54@gmx.com> | 2018-06-07 07:55:20 +0000 |
commit | 341133044563731df0c69a90abd52a57aa24c47e (patch) | |
tree | 03cb9231bcb602aab26d4a2918cfc8672d0c2ebd /lib/msan | |
parent | ce30747f4d0de2e549ebbde21d5ceddcbac27e75 (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.cc | 1 |
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); \ } |