diff --git a/libc/bionic/fdtrack.cpp b/libc/bionic/fdtrack.cpp
index 1123512..38eb219 100644
--- a/libc/bionic/fdtrack.cpp
+++ b/libc/bionic/fdtrack.cpp
@@ -28,7 +28,8 @@
 
 #include <stdatomic.h>
 
-#include <platform/bionic/fdtrack.h>
+#include <android/fdtrack.h>
+
 #include <platform/bionic/reserved_signals.h>
 
 #include "private/bionic_fdtrack.h"
diff --git a/libc/platform/bionic/fdtrack.h b/libc/include/android/fdtrack.h
similarity index 100%
rename from libc/platform/bionic/fdtrack.h
rename to libc/include/android/fdtrack.h
diff --git a/libc/libc.map.txt b/libc/libc.map.txt
index 2ca4b21..dddd84c 100644
--- a/libc/libc.map.txt
+++ b/libc/libc.map.txt
@@ -1484,6 +1484,9 @@
   global:
     __mempcpy_chk;
     __tls_get_addr; # arm64
+    android_fdtrack_compare_exchange_hook;
+    android_fdtrack_get_enabled;
+    android_fdtrack_set_enabled;
     call_once;
     cnd_broadcast;
     cnd_destroy;
@@ -1752,9 +1755,6 @@
     __system_property_set_filename;
     __system_property_update;
     android_fdsan_get_fd_table;
-    android_fdtrack_compare_exchange_hook; # llndk
-    android_fdtrack_get_enabled; # llndk
-    android_fdtrack_set_enabled; # llndk
     android_net_res_stats_get_info_for_net;
     android_net_res_stats_aggregate;
     android_net_res_stats_get_usable_servers;
diff --git a/libc/private/bionic_fdtrack.h b/libc/private/bionic_fdtrack.h
index 174ba1d..ddf7249 100644
--- a/libc/private/bionic_fdtrack.h
+++ b/libc/private/bionic_fdtrack.h
@@ -31,7 +31,7 @@
 #include <sys/cdefs.h>
 #include <stdatomic.h>
 
-#include "platform/bionic/fdtrack.h"
+#include <android/fdtrack.h>
 
 #include "bionic/pthread_internal.h"
 #include "private/bionic_tls.h"
diff --git a/libfdtrack/fdtrack.cpp b/libfdtrack/fdtrack.cpp
index 831a50d..7c4cfbf 100644
--- a/libfdtrack/fdtrack.cpp
+++ b/libfdtrack/fdtrack.cpp
@@ -32,8 +32,7 @@
 #include <mutex>
 #include <vector>
 
-#include <android/fdsan.h>
-#include <bionic/fdtrack.h>
+#include <android/fdtrack.h>
 
 #include <android-base/no_destructor.h>
 #include <android-base/thread_annotations.h>
@@ -111,32 +110,18 @@
       continue;
     }
 
-    if (!entry->mutex.try_lock()) {
-      async_safe_format_log(ANDROID_LOG_WARN, "fdtrack", "fd %d locked, skipping", fd);
-      continue;
-    }
-
+    std::lock_guard<std::mutex> lock(entry->mutex);
     if (entry->backtrace.empty()) {
       continue;
     }
 
-    uint64_t fdsan_owner = android_fdsan_get_owner_tag(fd);
-
-    if (fdsan_owner != 0) {
-      async_safe_format_log(ANDROID_LOG_INFO, "fdtrack", "fd %d: (owner = %#" PRIx64 ")", fd,
-                            fdsan_owner);
-    } else {
-      async_safe_format_log(ANDROID_LOG_INFO, "fdtrack", "fd %d: (unowned)", fd);
-    }
-
+    async_safe_format_log(ANDROID_LOG_INFO, "fdtrack", "fd %d:", fd);
     const size_t frame_skip = 2;
     for (size_t i = frame_skip; i < entry->backtrace.size(); ++i) {
       auto& frame = entry->backtrace[i];
       async_safe_format_log(ANDROID_LOG_INFO, "fdtrack", "  %zu: %s+%" PRIu64, i - frame_skip,
                             frame.function_name.c_str(), frame.function_offset);
     }
-
-    entry->mutex.unlock();
   }
   android_fdtrack_set_enabled(prev);
 }
diff --git a/tests/fdtrack_test.cpp b/tests/fdtrack_test.cpp
index fca92ce..a616e6f 100644
--- a/tests/fdtrack_test.cpp
+++ b/tests/fdtrack_test.cpp
@@ -25,7 +25,7 @@
 #include <unistd.h>
 
 #if defined(__BIONIC__)
-#include "platform/bionic/fdtrack.h"
+#include <android/fdtrack.h>
 #endif
 
 #include <vector>
