summaryrefslogtreecommitdiff
path: root/debuggerd/crash_dump.cpp
diff options
context:
space:
mode:
authorMitch Phillips <mitchp@google.com>2021-01-25 17:56:37 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-01-25 17:56:37 +0000
commit0a6a89d04f94ef3f73a7d52c0751287d57e81b2c (patch)
tree292c4c5b3a6271deb446ccb3745b24332220bb53 /debuggerd/crash_dump.cpp
parent074c8f348ea68c2e2a7accbcb21332f9063cc091 (diff)
parent9951b2fa1a2b302678e31ccac991d505ccda4a03 (diff)
Merge "[MTE] Cleanup tagged si_addr refs to fix mappings OOB bug." am: 1d792bf90a am: 9951b2fa1a
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1556425 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I1a84f7f3ab171ee86376c9743c478501b3d31e62
Diffstat (limited to 'debuggerd/crash_dump.cpp')
-rw-r--r--debuggerd/crash_dump.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/debuggerd/crash_dump.cpp b/debuggerd/crash_dump.cpp
index 4f600055d2..007a20fcec 100644
--- a/debuggerd/crash_dump.cpp
+++ b/debuggerd/crash_dump.cpp
@@ -40,6 +40,7 @@
#include <android-base/stringprintf.h>
#include <android-base/strings.h>
#include <android-base/unique_fd.h>
+#include <bionic/macros.h>
#include <bionic/reserved_signals.h>
#include <cutils/sockets.h>
#include <log/log.h>
@@ -299,7 +300,9 @@ static void ReadCrashInfo(unique_fd& fd, siginfo_t* siginfo,
*siginfo = crash_info->data.s.siginfo;
if (signal_has_si_addr(siginfo)) {
process_info->has_fault_address = true;
- process_info->fault_address = reinterpret_cast<uintptr_t>(siginfo->si_addr);
+ process_info->maybe_tagged_fault_address = reinterpret_cast<uintptr_t>(siginfo->si_addr);
+ process_info->untagged_fault_address =
+ untag_address(reinterpret_cast<uintptr_t>(siginfo->si_addr));
}
regs->reset(unwindstack::Regs::CreateFromUcontext(unwindstack::Regs::CurrentArch(),
&crash_info->data.s.ucontext));