diff options
author | Mitch Phillips <mitchp@google.com> | 2021-01-25 17:56:37 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-01-25 17:56:37 +0000 |
commit | 0a6a89d04f94ef3f73a7d52c0751287d57e81b2c (patch) | |
tree | 292c4c5b3a6271deb446ccb3745b24332220bb53 /debuggerd/crash_dump.cpp | |
parent | 074c8f348ea68c2e2a7accbcb21332f9063cc091 (diff) | |
parent | 9951b2fa1a2b302678e31ccac991d505ccda4a03 (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.cpp | 5 |
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)); |