arm64: ptrauth: add pointer authentication Armv8.6 enhanced feature
This patch add changes for Pointer Authentication enhanced features
mandatory for Armv8.6. These features are,
* Uses an enhanced PAC generation logic which hardens finding the
correct PAC value of the authenticated pointer. However, no code
change is required for this.
* Fault is generated now when the ptrauth authentication instruction
fails in authenticating the PAC present in the address. This is
different from earlier case when such failures just adds an error
code in the top byte and waits for subsequent load/store to abort.
The ptrauth instructions which may cause this fault are autiasp,
retaa etc.
The above features are now represented by additional configurations
for the Address Authentication cpufeature. These different
configurations are now updated to FTR_EXACT instead of FTR_LOWER_SAFE
as they all have different behaviour.
The fault received in the kernel due to FPAC is treated as Illegal
instruction and hence signal SIGILL is injected with ILL_ILLOPN as the
signal code. Note that this is different from earlier ARMv8.3 ptrauth
where signal SIGSEGV is issued due to Pointer authentication failures.
Signed-off-by:
Amit Daniel Kachhap <amit.kachhap@arm.com>
Loading
Please register or sign in to comment