This is an archive of the discontinued LLVM Phabricator instance.

[esan|wset] Ensure SIGSEGV is not blocked
ClosedPublic

Authored by bruening on Jul 6 2016, 11:48 AM.

Details

Summary

Adds interception of sigprocmask and pthread_sigmask to esan so that the
working set tool can prevent SIGSEGV from being blocked. A blocked SIGSEGV
results in crashes due to our lazy shadow page allocation scheme.

Adds new sanitizer helper functions internal_sigemptyset and
internal_sigismember.

Adds a test to workingset-signal-posix.cpp.

Diff Detail

Repository
rL LLVM

Event Timeline

bruening updated this revision to Diff 62927.Jul 6 2016, 11:48 AM
bruening retitled this revision from to [esan|wset] Ensure SIGSEGV is not blocked.
bruening updated this object.
bruening added a reviewer: aizatsky.
bruening added subscribers: llvm-commits, eugenis, kcc and 2 others.
aizatsky accepted this revision.Jul 6 2016, 11:52 AM
aizatsky edited edge metadata.
This revision is now accepted and ready to land.Jul 6 2016, 11:52 AM
This revision was automatically updated to reflect the committed changes.