[compiler-rt] [rtsan] Remove mkfifoat interceptor (PR #116997)
Chris Apple via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 20 08:09:52 PST 2024
https://github.com/cjappl created https://github.com/llvm/llvm-project/pull/116997
This partially reverts #116915 [fce917d](https://github.com/llvm/llvm-project/commit/fce917d39d97b8697e04fc52b1727307fc341212)
I mis-read the version that mkfifoat was introduced in darwin. It was introduced in 13.0, while I guarded against 10.13 (as you can see in the code:
```
#define MKFIFOAT_AVAILABLE() (__builtin_available(macOS 10.13, *))
```
The fix is more difficult than just declaring this as 13.0, we have to pre-declare a weak symbol as we do with aligned_alloc etc, which takes a bit of time.
This is a band-aid while we work on that (or kick it into the future)
>From 077e10c7203838ed170f06dd033940a5089dec26 Mon Sep 17 00:00:00 2001
From: Chris Apple <cja-private at pm.me>
Date: Wed, 20 Nov 2024 08:06:56 -0800
Subject: [PATCH] [rtsan] Remove mkfifoat interceptor
---
.../lib/rtsan/rtsan_interceptors_posix.cpp | 11 -----------
.../rtsan/tests/rtsan_test_interceptors_posix.cpp | 15 ---------------
2 files changed, 26 deletions(-)
diff --git a/compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp b/compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
index 5ef52d72fceb31..73448cfc117884 100644
--- a/compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
+++ b/compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
@@ -746,16 +746,6 @@ INTERCEPTOR(int, mkfifo, const char *pathname, mode_t mode) {
return REAL(mkfifo)(pathname, mode);
}
-// see comment above about -Wunguarded-availability-new
-// and why we disable it here
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wunguarded-availability-new"
-INTERCEPTOR(int, mkfifoat, int dirfd, const char *pathname, mode_t mode) {
- __rtsan_notify_intercepted_call("mkfifoat");
- return REAL(mkfifoat)(dirfd, pathname, mode);
-}
-#pragma clang diagnostic pop
-
// Preinit
void __rtsan::InitializeInterceptors() {
INTERCEPT_FUNCTION(calloc);
@@ -859,7 +849,6 @@ void __rtsan::InitializeInterceptors() {
INTERCEPT_FUNCTION(pipe);
INTERCEPT_FUNCTION(mkfifo);
- INTERCEPT_FUNCTION(mkfifoat);
}
#endif // SANITIZER_POSIX
diff --git a/compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp b/compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
index 72f6d819b216c0..3e14346f33c7ca 100644
--- a/compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
+++ b/compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
@@ -971,21 +971,6 @@ TEST(TestRtsanInterceptors, MkfifoDiesWhenRealtime) {
ExpectNonRealtimeSurvival(Func);
}
-#if __has_builtin(__builtin_available) && SANITIZER_APPLE
-#define MKFIFOAT_AVAILABLE() (__builtin_available(macOS 10.13, *))
-#else
-// We are going to assume this is true until we hit systems where it isn't
-#define MKFIFOAT_AVAILABLE() (true)
-#endif
-
-TEST(TestRtsanInterceptors, MkfifoatDiesWhenRealtime) {
- if (MKFIFOAT_AVAILABLE()) {
- auto Func = []() { mkfifoat(0, "/tmp/rtsan_test_fifo", 0); };
- ExpectRealtimeDeath(Func, "mkfifoat");
- ExpectNonRealtimeSurvival(Func);
- }
-}
-
TEST(TestRtsanInterceptors, PipeDiesWhenRealtime) {
int fds[2];
auto Func = [&fds]() { pipe(fds); };
More information about the llvm-commits
mailing list