[llvm-branch-commits] [llvm] [AArch64][PAC] Lower authenticated calls with ptrauth bundles. (PR #85736)

Ahmed Bougacha via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu May 23 22:37:48 PDT 2024


================
@@ -1694,6 +1718,35 @@ let Predicates = [HasPAuth] in {
     def BLRABZ  : AuthOneOperand<0b001, 1, "blrabz">;
   }
 
+  // BLRA pseudo, generalized version of BLRAA/BLRAB/Z.
+  // This directly manipulates x16/x17, which are the only registers the OS
+  // guarantees are safe to use for sensitive operations.
----------------
ahmedbougacha wrote:

Unfortunately this sort of thing isn't documented.  We do describe the general contract in the security model sections of the clang docs.
For ELF it might make sense to have a formalization in the PAuth ABI, but that would have to be actually honored in an OS;  I imagine it currently isn't anywhere other than Darwin.

https://github.com/llvm/llvm-project/pull/85736


More information about the llvm-branch-commits mailing list