11.0.0: Difference between revisions

Line 266: Line 266:
These are now compiled with compiler Pointer Authentication / CFI mitigations enabled. This does not apply to non-web-applets.
These are now compiled with compiler Pointer Authentication / CFI mitigations enabled. This does not apply to non-web-applets.


Pointer Authentication uses the crc32x instruction, and x18 as a cryptographically-random u64 provided by the kernel.
Pointer Authentication uses the crc32x instruction, and x18 as a cryptographically-random u64 provided by the kernel. The only userland code using x18 is the mul instruction for this, nothing else (applies to all NSOs/NROs).


This is used to add/subtract x30 starting with bit40, during functions entry/exit. The code for entry/exit is identical, except that entry does add, and exit uses subtract:
This is used to add/subtract x30 starting with bit40, during functions entry/exit. The code for entry/exit is identical, except that entry does add, and exit uses subtract: