signal(2) and sigaction(2) have defined behaviors for invalid signal number
(EINVAL) and some programs rely on it.
The added test case also reveals that MSAN is too strict in this regard.
Test case passed on x86_64 Linux and AArch64 Linux.
Paths
| Differential D106468
Fix TSAN signal interceptor out-of-bound access ClosedPublic Authored by scw on Jul 21 2021, 11:05 AM.
Details
Summary signal(2) and sigaction(2) have defined behaviors for invalid signal number The added test case also reveals that MSAN is too strict in this regard. Test case passed on x86_64 Linux and AArch64 Linux.
Diff Detail
Event TimelineComment Actions Can you please add some basic test, ideally under compiler-rt/test/sanitizer_common/TestCases/Posix/ so we "ninja check-sanitizer" tests asan and msan as well Comment Actions Added test case, needed to update MSAN for it as well. Tested on x86_86 Linux and AArch64 Linux.
This revision is now accepted and ready to land.Jul 22 2021, 12:05 PM This revision was landed with ongoing or failed builds.Jul 22 2021, 12:38 PM Closed by commit rG4fa989c7b23c: Fix TSAN signal interceptor out-of-bound access (authored by scw). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 360931 compiler-rt/lib/msan/msan_interceptors.cpp
compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
compiler-rt/test/sanitizer_common/TestCases/Posix/signal.cpp
|
If so, why not on compiler-rt/lib/sanitizer_common/sanitizer_signal_interceptors.inc:54 before GetHandleSignalMode check?