Summary
This goal aims to add Pointer Authentication Code (later on referred to as PAC,
pauth) support to Rust compiler. PAC is a hardware security feature introduced
by ARM in ARMv8.3. It works by adding a cryptographic signature to pointers and
verifying that signature before the pointers are used. This mechanism helps
prevent attacks that attempt to modify or substitute writable pointers, such as
return addresses or function pointers.
The signature is stored directly within the pointer value. On AArch64 systems
the usable virtual address space occupies fewer than 64 bits, leaving upper bits
of the pointer available to store PAC data.
Tasks and status
Summary
This goal aims to add Pointer Authentication Code (later on referred to as PAC,
pauth) support to Rust compiler. PAC is a hardware security feature introduced
by ARM in ARMv8.3. It works by adding a cryptographic signature to pointers and
verifying that signature before the pointers are used. This mechanism helps
prevent attacks that attempt to modify or substitute writable pointers, such as
return addresses or function pointers.
The signature is stored directly within the pointer value. On AArch64 systems
the usable virtual address space occupies fewer than 64 bits, leaving upper bits
of the pointer available to store PAC data.
Tasks and status