Skip to content
  • Kristina Martsenko's avatar
    arm64: enable ptrauth earlier · cbe7a9be
    Kristina Martsenko authored
    
    
    When the kernel is compiled with pointer auth instructions, the boot CPU
    needs to start using address auth very early, so change the cpucap to
    account for this.
    
    Pointer auth must be enabled before we call C functions, because it is
    not possible to enter a function with pointer auth disabled and exit it
    with pointer auth enabled. Note, mismatches between architected and
    IMPDEF algorithms will still be caught by the cpufeature framework (the
    separate *_ARCH and *_IMP_DEF cpucaps).
    
    Note the change in behavior: if the boot CPU has address auth and a late
    CPU does not, then we offline the late CPU. Until now we would have just
    disabled address auth in this case.
    
    Leave generic authentication as a "system scope" cpucap for now, since
    initially the kernel will only use address authentication.
    
    Reviewed-by: default avatarKees Cook <keescook@chromium.org>
    Signed-off-by: default avatarKristina Martšenko <kristina.martsenko@arm.com>
    cbe7a9be