[PATCH v3 0/2] arm64: errata: Remove AES hwcap for COMPAT tasks

James Morse james.morse at arm.com
Thu Jul 14 09:15:21 PDT 2022


Hello!

The change since v2 is the affected range for A57. It turns out A57's
r0p0 is not affected by this erratum, the document on developer.arm.com
is now the latest version.

These patches remove the AES HWCAP on A57 and A72 for aarch32 user-space
processes due to erratum #1742098 and #1655431. An interrupt between two
instructions will cause these parts to get the wrong result.
These extensions are optional, so software should have a fallback
implementation.

Operating on the HWCAP bitmap directly avoids affecting KVM, which
was the problem with v1. But it does mean HWCAP_PMULL is still visible
to aarch32 processes. This isn't affected by the erratum, but is detected
from the same field in the ID register. PMULL is value '2', AES is value '1'.
User-space would be crazy to let PMULL imply AES, right ...

There is no dependency between the two patches.

[v2] https://lore.kernel.org/linux-arm-kernel/20220413170545.3042558-1-james.morse@arm.com/
[v1] https://lore.kernel.org/linux-arm-kernel/20220127122914.1585008-1-james.morse@arm.com/
[A57] https://developer.arm.com/documentation/epm049219/2300  #1742098
[A72 https://developer.arm.com/documentation/epm012079/11     #1655431

James Morse (2):
  ARM: Remove AES hwcap for parts affected by errata
  arm64: errata: Remove AES hwcap for COMPAT tasks

 Documentation/arm64/silicon-errata.rst |  4 ++++
 arch/arm/include/asm/cputype.h         |  5 +++++
 arch/arm/kernel/setup.c                | 10 ++++++++++
 arch/arm64/Kconfig                     | 16 ++++++++++++++++
 arch/arm64/kernel/cpu_errata.c         | 16 ++++++++++++++++
 arch/arm64/kernel/cpufeature.c         | 14 +++++++++++++-
 arch/arm64/tools/cpucaps               |  1 +
 7 files changed, 65 insertions(+), 1 deletion(-)

-- 
2.30.2




More information about the linux-arm-kernel mailing list