crash_dump: collect open files before dropping caps. am: c24cc8a9e5 am: db22633766 am: f0d7738ceb
am: e848972915
Change-Id: I79f84f6cd4fb08f5624973a3577a2e65d1b9616d
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);
}