aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/arm64/Makefile
diff options
context:
space:
mode:
authorBoyan Karatotev <boyan.karatotev@arm.com>2020-09-18 11:47:12 +0100
committerWill Deacon <will@kernel.org>2020-09-18 14:07:20 +0100
commite74e1d55728509b352e4eec4283dd5b2781b2070 (patch)
treeed513f9ab64382c5be64d0ab5ff995bb07a4b21c /tools/testing/selftests/arm64/Makefile
parentLinux 5.9-rc3 (diff)
downloadlinux-dev-e74e1d55728509b352e4eec4283dd5b2781b2070.tar.xz
linux-dev-e74e1d55728509b352e4eec4283dd5b2781b2070.zip
kselftests/arm64: add a basic Pointer Authentication test
PAuth signs and verifies return addresses on the stack. It does so by inserting a Pointer Authentication code (PAC) into some of the unused top bits of an address. This is achieved by adding paciasp/autiasp instructions at the beginning and end of a function. This feature is partially backwards compatible with earlier versions of the ARM architecture. To coerce the compiler into emitting fully backwards compatible code the main file is compiled to target an earlier ARM version. This allows the tests to check for the feature and print meaningful error messages instead of crashing. Add a test to verify that corrupting the return address results in a SIGSEGV on return. Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com> Reviewed-by: Vincenzo Frascino <Vincenzo.Frascino@arm.com> Reviewed-by: Amit Daniel Kachhap <amit.kachhap@arm.com> Acked-by: Shuah Khan <skhan@linuxfoundation.org> Cc: Shuah Khan <shuah@kernel.org> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will@kernel.org> Link: https://lore.kernel.org/r/20200918104715.182310-2-boian4o1@gmail.com Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'tools/testing/selftests/arm64/Makefile')
-rw-r--r--tools/testing/selftests/arm64/Makefile2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/testing/selftests/arm64/Makefile b/tools/testing/selftests/arm64/Makefile
index 93b567d23c8b..525506fd97b9 100644
--- a/tools/testing/selftests/arm64/Makefile
+++ b/tools/testing/selftests/arm64/Makefile
@@ -4,7 +4,7 @@
ARCH ?= $(shell uname -m 2>/dev/null || echo not)
ifneq (,$(filter $(ARCH),aarch64 arm64))
-ARM64_SUBTARGETS ?= tags signal
+ARM64_SUBTARGETS ?= tags signal pauth
else
ARM64_SUBTARGETS :=
endif