You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
option(CLANG_ENABLE_PTRAUTH_OBJC_ISA "Objc isa/super pointer authentication for clang/ptrauth.h: when enabled, can default to sign-and-strip or sign-and-auth based on target"OFF)
Copy file name to clipboardExpand all lines: clang/docs/PointerAuthentication.rst
+6-1Lines changed: 6 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -108,6 +108,8 @@ It is possible to tweak the behaviour of pointer authentication using the `optio
108
108
109
109
- authentication mode: ``strip``, ``sign-and-strip``, ``sign-and-auth``. These control whether authentication codes are ignored completely (``strip``), whether values are signed but not authenticated (``sign-and-strip``), or the default of full authentication (``sign-and-auth``).
110
110
111
+
- ``isa-pointer``: This is used to indicate that the target value is an Objective-C isa pointer, and needs to mask out objective-c tag bits prior to signing or authenticating the value.
112
+
111
113
- ``authenticates-null-values``: Enables full signing and authentication of null values. The default behaviour of pointer authentication is to not sign or authenticate null values. This option ensures that all values, including null values, will always be signed and authenticated.
112
114
113
115
.. _Signing schemas:
@@ -814,7 +816,10 @@ Objective-C method lists sign methods with the ``IA`` key using address diversit
814
816
815
817
The Objective-C runtime provides additional protection to methods that have been loaded into the Objective-C method cache; this protection is private to the runtime.
816
818
817
-
Pointer authentication cannot protect against access-path atacks against the Objective-C ``isa`` pointer, through which all dispatch occurs, because of compatibility requirements and existing and important usage of high bits in the pointer.
819
+
Objective-C ``isa`` and ``super`` pointers
820
+
~~~~~~~~~~~~~~~~~~~~~~~~
821
+
822
+
Objective-C ``isa`` and ``super`` pointers are both signed with the ``DA`` key with constant discriminators of 0x6AE1 and 0x25DA respectively.
0 commit comments