[clang] [compiler-rt] [rtsan] Enable RealtimeSanitizer for FreeBSD (PR #125389)
Chris Apple via cfe-commits
cfe-commits at lists.llvm.org
Mon Feb 10 15:16:27 PST 2025
================
@@ -864,11 +864,18 @@ INTERCEPTOR(void *, pvalloc, size_t size) {
#define RTSAN_MAYBE_INTERCEPT_PVALLOC
#endif
+#if !SANITIZER_FREEBSD
+// enabling this interception on freebsd leads to infinite recursion
+// on pthread lib initialization
----------------
cjappl wrote:
It looks like dfsan does an early out if it isn't initialized, we could likely do the same?
https://github.com/llvm/llvm-project/blob/f451d27b387cdff14f0f45f1b3314090a5008e0c/compiler-rt/lib/dfsan/dfsan_interceptors.cpp#L132-L133
> What do you think @cjappl? Disabling inside GetContextForThisThread make me a little uneasy as I haven't been able to consider all the implications. But I think it's potentially worth considering if it means we get to keep all interceptors on FreeBSD...
I think I would rather (temporarily or permanently) lose mmap in freebsd than do the scoped disabler right now. I am worried about some side effect and losing an interceptor on one platform doesn't seem like the end of the world.
Let me ponder it a bit, curious if we could early out in mmap like dfsan
https://github.com/llvm/llvm-project/pull/125389
More information about the cfe-commits
mailing list