[GIT PULL] arm64 fixes for 5.15-rc3

Catalin Marinas catalin.marinas at arm.com
Fri Sep 24 10:40:56 PDT 2021


Hi Linus,

Please pull the arm64 fixes below. Thanks.

The following changes since commit 9fcb2e93f41c07a400885325e7dbdfceba6efaec:

  arm64: Mark __stack_chk_guard as __ro_after_init (2021-09-16 17:59:17 +0100)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux tags/arm64-fixes

for you to fetch changes up to 22b70e6f2da0a4c8b1421b00cfc3016bc9d4d9d4:

  arm64: Restore forced disabling of KPTI on ThunderX (2021-09-23 15:59:15 +0100)

----------------------------------------------------------------
arm64 fixes:

- It turns out that the optimised string routines merged in 5.14 are not
  safe with in-kernel MTE (KASAN_HW_TAGS) because of reading beyond the
  end of a string (strcmp, strncmp). Such reading may go across a 16
  byte tag granule and cause a tag check fault. When KASAN_HW_TAGS is
  enabled, use the generic strcmp/strncmp C implementation.

- An errata workaround for ThunderX relied on the CPU capabilities being
  enabled in a specific order. This disappeared with the automatic
  generation of the cpucaps.h file (sorted alphabetically). Fix it by
  checking the current CPU only rather than the system-wide capability.

- Add system_supports_mte() checks on the kernel entry/exit path and
  thread switching to avoid unnecessary barriers and function calls on
  systems where MTE is not supported.

- kselftests: skip arm64 tests if the required features are missing.

----------------------------------------------------------------
Cristian Marussi (1):
      kselftest/arm64: signal: Skip tests if required features are missing

Peter Collingbourne (1):
      arm64: add MTE supported check to thread switching and syscall entry/exit

Robin Murphy (1):
      arm64: Mitigate MTE issues with str{n}cmp()

dann frazier (1):
      arm64: Restore forced disabling of KPTI on ThunderX

 arch/arm64/include/asm/assembler.h                        |  5 +++++
 arch/arm64/include/asm/mte.h                              |  6 ++++++
 arch/arm64/include/asm/string.h                           |  2 ++
 arch/arm64/kernel/cpufeature.c                            |  8 ++++++--
 arch/arm64/kernel/mte.c                                   | 10 ++++------
 arch/arm64/lib/strcmp.S                                   |  2 +-
 arch/arm64/lib/strncmp.S                                  |  2 +-
 tools/testing/selftests/arm64/signal/test_signals_utils.c |  7 +++++--
 8 files changed, 30 insertions(+), 12 deletions(-)

-- 
Catalin



More information about the linux-arm-kernel mailing list