diff options
author | Josh Gao <jmgao@google.com> | 2020-01-28 15:13:47 -0800 |
---|---|---|
committer | Josh Gao <jmgao@google.com> | 2020-01-30 13:55:11 -0800 |
commit | 6f08866e3328cb43e2432a19a954885677930c68 (patch) | |
tree | 2723453d6a95654a1f745cfc30e234eadc42da9e /libfdtrack | |
parent | 50955c461bbfb35b06ecc3f862e41e50a6eba409 (diff) | |
download | bionic-6f08866e3328cb43e2432a19a954885677930c68.tar.gz |
fdtrack: print fdsan owner tag.
Test: logcat -c; fdtrack_test; logcat -d | grep fdtrack
Change-Id: I0a7e342da239a0e7889eb228a3a023268d40b1c5
Diffstat (limited to 'libfdtrack')
-rw-r--r-- | libfdtrack/fdtrack.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/libfdtrack/fdtrack.cpp b/libfdtrack/fdtrack.cpp index 9506751c9..831a50d1b 100644 --- a/libfdtrack/fdtrack.cpp +++ b/libfdtrack/fdtrack.cpp @@ -32,6 +32,7 @@ #include <mutex> #include <vector> +#include <android/fdsan.h> #include <bionic/fdtrack.h> #include <android-base/no_destructor.h> @@ -119,7 +120,15 @@ void fdtrack_dump() { continue; } - async_safe_format_log(ANDROID_LOG_INFO, "fdtrack", "fd %d:", fd); + 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); + } + const size_t frame_skip = 2; for (size_t i = frame_skip; i < entry->backtrace.size(); ++i) { auto& frame = entry->backtrace[i]; |