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: |