[PATCH v3 0/3] arm64: Support of PAuth QARMA3 architected algorithm

Vladimir Murzin vladimir.murzin at arm.com
Thu Feb 24 04:49:49 PST 2022


QARMA3 is relaxed version of the QARMA5 algorithm which expected to
reduce the latency of calculation while still delivering a suitable
level of security.

Feature advertised via a new ID fields in ID_AA64ISAR2_EL1 [1], so we
need to teach the kernel to identify this.

[1] https://developer.arm.com/documentation/ddi0601/2021-12/AArch64-Registers/ID-AA64ISAR2-EL1--AArch64-Instruction-Set-Attribute-Register-2?lang=en


Changelog:

  v1 -> v2
     - Removed unintended whitespace change in sysreg.h
     - FTR_ALIAS_OPTION_LEN now accounts null terminator
     - Extract only APA3 bits from ID_AA64ISAR2_APA3_SHIFT (in
       contrast to id_aa64isar1_el1 where both APA and API bits
       are extracted) in asm_pointer_auth.h
  v2 -> v3
     - Removed WARN_ON(s) (per Will)
     - Rebased on 5.17-rc5

Thanks!

Vladimir Murzin (3):
  arm64: cpufeature: Account min_field_value when cheking secondaries
    for PAuth
  arm64: cpufeature: Mark existing PAuth architected algorithm as QARMA5
  arm64: Add support of PAuth QARMA3 architected algorithm

 arch/arm64/include/asm/asm_pointer_auth.h      |  3 ++
 arch/arm64/include/asm/cpufeature.h            |  1 +
 arch/arm64/include/asm/kvm_hyp.h               |  1 +
 arch/arm64/include/asm/sysreg.h                | 12 ++++++
 arch/arm64/kernel/cpufeature.c                 | 59 ++++++++++++++++++++++----
 arch/arm64/kernel/idreg-override.c             | 16 ++++++-
 arch/arm64/kvm/arm.c                           |  1 +
 arch/arm64/kvm/hyp/include/nvhe/fixed_config.h |  5 +++
 arch/arm64/kvm/hyp/nvhe/sys_regs.c             | 14 ++++++
 arch/arm64/kvm/sys_regs.c                      |  5 +++
 arch/arm64/tools/cpucaps                       |  6 ++-
 11 files changed, 110 insertions(+), 13 deletions(-)

-- 
2.7.4




More information about the linux-arm-kernel mailing list