[compiler-rt] r334168 - Disable recursive interceptors in signal(3)/MSan

Kamil Rytarowski via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 7 00:55:20 PDT 2018


Author: kamil
Date: Thu Jun  7 00:55:20 2018
New Revision: 334168

URL: http://llvm.org/viewvc/llvm-project?rev=334168&view=rev
Log:
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

Modified:
    compiler-rt/trunk/lib/msan/msan_interceptors.cc

Modified: compiler-rt/trunk/lib/msan/msan_interceptors.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/msan/msan_interceptors.cc?rev=334168&r1=334167&r2=334168&view=diff
==============================================================================
--- compiler-rt/trunk/lib/msan/msan_interceptors.cc (original)
+++ compiler-rt/trunk/lib/msan/msan_interceptors.cc Thu Jun  7 00:55:20 2018
@@ -1292,6 +1292,7 @@ static int sigaction_impl(int signo, con
 #define SIGNAL_INTERCEPTOR_SIGNAL_IMPL(func, signo, handler) \
   {                                                          \
     handler = signal_impl(signo, handler);                   \
+    InterceptorScope interceptor_scope;                      \
     return REAL(func)(signo, handler);                       \
   }
 




More information about the llvm-commits mailing list