crash_dump: collect open files before dropping caps. am: c24cc8a9e5 am: db22633766
am: f0d7738ceb
Change-Id: Idae51eec742124d5fab1f0a478f658ed3549058a
diff --git a/debuggerd/crash_dump.cpp b/debuggerd/crash_dump.cpp
index 4e083ae..2889356 100644
--- a/debuggerd/crash_dump.cpp
+++ b/debuggerd/crash_dump.cpp
@@ -363,6 +363,12 @@
LOG(FATAL) << "failed to create backtrace map";
}
+ // Collect the list of open files.
+ OpenFilesList open_files;
+ if (!backtrace) {
+ populate_open_files_list(target, &open_files);
+ }
+
// Drop our capabilities now that we've attached to the threads we care about.
drop_capabilities();
@@ -375,10 +381,6 @@
if (backtrace) {
dump_backtrace(output_fd.get(), backtrace_map.get(), target, main_tid, attached_siblings, 0);
} else {
- // Collect the list of open files.
- OpenFilesList open_files;
- populate_open_files_list(target, &open_files);
-
engrave_tombstone(output_fd.get(), backtrace_map.get(), open_files, target, main_tid,
attached_siblings, abort_address, fatal_signal ? &amfd_data : nullptr);
}