[PATCH] D98886: Pass pointer authentication code mask from minidump and use to strip pac from pc.

Muhammad Omair Javaid via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 30 14:57:02 PDT 2021


omjavaid added inline comments.


================
Comment at: lldb/include/lldb/Target/Process.h:79
   void SetExtraStartupCommands(const Args &args);
+  uint64_t GetPointerAuthenticationAddressMask() const;
+  void SetPointerAuthenticationAddressMask(const uint64_t mask);
----------------
This function name is too specific to AArch64 architecture. IMO, we should have information on significant address bits rather than PAuth mask. This is because we have to cover for the top byte in case of AArch64 Top Byte Ignore feature as well as any other memory management features.

>From user process perspective we should figure out how many bits of the process memory address are significant for addressing while the others store extra information like PAC, Tags or any information inserted by software in top byte.

I propose to add a new variable (may be call it address_bits_in_use) in process class which is populated by default equal to process address width in our case 64 bit. In case a we choose to update address_bits_in_use we may do it on when process is created or through set method during execution as well.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D98886



More information about the llvm-commits mailing list