Skip to content
  • Amit Kachhap's avatar
    arm64: ptrauth: add pointer authentication Armv8.6 enhanced feature · 49b88bb7
    Amit Kachhap authored
    
    
    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: default avatarAmit Daniel Kachhap <amit.kachhap@arm.com>
    49b88bb7