mbox series

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

Message ID 20220714161523.279570-1-james.morse@arm.com (mailing list archive)
Headers show
Series arm64: errata: Remove AES hwcap for COMPAT tasks | expand

Message

James Morse July 14, 2022, 4:15 p.m. UTC
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(-)

Comments

Will Deacon July 19, 2022, 7:56 p.m. UTC | #1
On Thu, 14 Jul 2022 17:15:21 +0100, James Morse wrote:
> 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.
> 
> [...]

Applied arm64 patch only to arm64 (for-next/errata), thanks!

[2/2] arm64: errata: Remove AES hwcap for COMPAT tasks
      https://git.kernel.org/arm64/c/44b3834b2eed

Cheers,