[Lldb-commits] [PATCH] D93495: CrashReason: Add MTE tag check faults to the list of crash reasons.

Peter Collingbourne via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Dec 21 13:38:43 PST 2020


pcc added a comment.

In D93495#2462581 <https://reviews.llvm.org/D93495#2462581>, @DavidSpickett wrote:

> I assume that the signal displays without tag bits just like any other SEGV?
>
> I was thinking about testing but I don't see any tests for specific signals so it would only be needed if your change to add the tag bits to siginfo has gone in.
> (I have been following it from a distance but not sure of the status)

With 5.10 the tag bits don't appear but with the latest version of my patch series, which is due to land in 5.11, the tag bits will appear in si_addr in the siginfo retrieved via ptrace(PTRACE_GETSIGINFO) and therefore will appear in the fault address displayed by the debugger. The tag bits are only hidden from signal handlers, and then only if SA_EXPOSE_TAGBITS is clear, so they will be exposed to ptrace no matter whether the debuggee has SA_EXPOSE_TAGBITS clear or set in its signal handler. Note that the tag bits will be exposed for all faults with a fault address, not just SEGV_MTESERR (though with SEGV_MTESERR we only get the low nibble of the tag due to hardware limitations).

I verified all of this behavior in FVP and also noticed that I didn't add a line of code here that makes the fault address visible in the sync tag check fault case so I've now added it.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D93495/new/

https://reviews.llvm.org/D93495



More information about the lldb-commits mailing list