[PATCH] D20832: [esan] Ensure internal_sigaction() bypasses interceptors

Derek Bruening via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 2 21:03:49 PDT 2016


bruening added a comment.

In http://reviews.llvm.org/D20832#447421, @aizatsky wrote:

> Is there (or will there by) a test that exercises this?


Without this CL, our internal_sigaction calls that we make every run are only during init, where the EsanDuringInit check in COMMON_INTERCEPTOR_ENTER does end up calling the original libc sigaction and we do avoid running our interception action on our own calls that way (but it does not feel right for an "internal_" call to go through the interceptor).  The real problem is when we call internal_sigaction after we're initialized, which only happens on an unhandled SIGSEGV for which the app has no handler: then we'll spin in an infinite loop as our attempts to remove our own handler repeatedly fail.  It's not easy to add such a test.  I'll add some of this explanation to the CL.


http://reviews.llvm.org/D20832





More information about the llvm-commits mailing list