[all-commits] [llvm/llvm-project] 256c16: Change debugserver to clear PAC auth bits manually

Jason Molenda via All-commits all-commits at lists.llvm.org
Tue Oct 25 13:49:16 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 256c16e8f4e483ff19ed7096d3c41947a8a93144
      https://github.com/llvm/llvm-project/commit/256c16e8f4e483ff19ed7096d3c41947a8a93144
  Author: Jason Molenda <jason at molenda.com>
  Date:   2022-10-25 (Tue, 25 Oct 2022)

  Changed paths:
    M lldb/tools/debugserver/source/DNB.cpp
    M lldb/tools/debugserver/source/DNB.h
    M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
    M lldb/tools/debugserver/source/RNBRemote.cpp

  Log Message:
  -----------
  Change debugserver to clear PAC auth bits manually

debugserver is currently using kernel supplied macros,
arm_thread_state64_get_{pc,fp,sp,lr} which can crash on an authorization
failure when the inferior has crashed with an invalid pc value, for
instance.  debugserver needs to be resistant to crashing in this
scenario, and we're merely clearing the bits, so do it with a bit
mask operation instead.

Differential Revision: https://reviews.llvm.org/D136620
rdar://98073271
rdar://100663221




More information about the All-commits mailing list