Skip to content

Commit 04ca320

Browse files
Mark Rutlandwildea01
Mark Rutland
authored andcommitted
arm64: enable pointer authentication
Now that all the necessary bits are in place for userspace, add the necessary Kconfig logic to allow this to be enabled. Signed-off-by: Mark Rutland <[email protected]> Signed-off-by: Kristina Martsenko <[email protected]> Cc: Catalin Marinas <[email protected]> Cc: Will Deacon <[email protected]> Signed-off-by: Will Deacon <[email protected]>
1 parent ba83088 commit 04ca320

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

arch/arm64/Kconfig

+23
Original file line numberDiff line numberDiff line change
@@ -1260,6 +1260,29 @@ config ARM64_CNP
12601260

12611261
endmenu
12621262

1263+
menu "ARMv8.3 architectural features"
1264+
1265+
config ARM64_PTR_AUTH
1266+
bool "Enable support for pointer authentication"
1267+
default y
1268+
help
1269+
Pointer authentication (part of the ARMv8.3 Extensions) provides
1270+
instructions for signing and authenticating pointers against secret
1271+
keys, which can be used to mitigate Return Oriented Programming (ROP)
1272+
and other attacks.
1273+
1274+
This option enables these instructions at EL0 (i.e. for userspace).
1275+
1276+
Choosing this option will cause the kernel to initialise secret keys
1277+
for each process at exec() time, with these keys being
1278+
context-switched along with the process.
1279+
1280+
The feature is detected at runtime. If the feature is not present in
1281+
hardware it will not be advertised to userspace nor will it be
1282+
enabled.
1283+
1284+
endmenu
1285+
12631286
config ARM64_SVE
12641287
bool "ARM Scalable Vector Extension support"
12651288
default y

0 commit comments

Comments
 (0)