[Lldb-commits] [PATCH] D102428: [StopInfoMachException] Summarize arm64e BLRAx/LDRAx auth failures

Vedant Kumar via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon May 17 10:54:36 PDT 2021


vsk added inline comments.


================
Comment at: lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp:126
+    Address brk_address;
+    if (!target.ResolveLoadAddress(fixed_bad_address, brk_address))
+      return false;
----------------
DavidSpickett wrote:
> vsk wrote:
> > DavidSpickett wrote:
> > > What does it mean here that the address failed to resolve?
> > It's possible that lldb doesn't know about the image the fixed address points to (it could be a garbage value). In this case we conservatively don't hint that there's a ptrauth issue.
> So in that case we would report stopped due to a breakpoint, that's a special pac breakpoint but no pointer authentication issue? Isn't that confusing for the user?
> 
> Maybe not because it's hinting at accidental corruption vs. deliberate misdirection, you probably have the experiences to inform that.
> 
> This is an improvement as is so no need to change it I'm just curious.
> 
> Can you add a test for this situation? Assuming you can find an address you know would never be valid.
The image containing the fixed address from x16 is usually loaded. If it's not, that's indeed a very confusing situation (& would more likely than not implicate an AppleClang bug). I don't believe the situation is made *more* confusing because lldb declines to print a ptrauth hint. I've added a test for this (it just sets x16 = 0xbad).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D102428



More information about the lldb-commits mailing list