summaryrefslogtreecommitdiff
path: root/Documentation/arm64/pointer-authentication.txt
diff options
context:
space:
mode:
authorKristina Martsenko <kristina.martsenko@arm.com>2019-01-30 12:02:44 +0000
committerCatalin Marinas <catalin.marinas@arm.com>2019-02-01 13:56:58 +0000
commitd0a060be573bfbf8753a15dca35497db5e968bb0 (patch)
tree3b584b617217dfcb32ef5b092fc9eed47182e29a /Documentation/arm64/pointer-authentication.txt
parente2a2e56e40822ab78e304198387f61314af7d7ce (diff)
arm64: add ptrace regsets for ptrauth key management
Add two new ptrace regsets, which can be used to request and change the pointer authentication keys of a thread. NT_ARM_PACA_KEYS gives access to the instruction/data address keys, and NT_ARM_PACG_KEYS to the generic authentication key. The keys are also part of the core dump file of the process. The regsets are only exposed if the kernel is compiled with CONFIG_CHECKPOINT_RESTORE=y, as the only intended use case is checkpointing and restoring processes that are using pointer authentication. (This can be changed later if there are other use cases.) Reviewed-by: Dave Martin <Dave.Martin@arm.com> Signed-off-by: Kristina Martsenko <kristina.martsenko@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'Documentation/arm64/pointer-authentication.txt')
-rw-r--r--Documentation/arm64/pointer-authentication.txt5
1 files changed, 5 insertions, 0 deletions
diff --git a/Documentation/arm64/pointer-authentication.txt b/Documentation/arm64/pointer-authentication.txt
index a25cd21290e9..5baca42ba146 100644
--- a/Documentation/arm64/pointer-authentication.txt
+++ b/Documentation/arm64/pointer-authentication.txt
@@ -78,6 +78,11 @@ bits can vary between the two. Note that the masks apply to TTBR0
addresses, and are not valid to apply to TTBR1 addresses (e.g. kernel
pointers).
+Additionally, when CONFIG_CHECKPOINT_RESTORE is also set, the kernel
+will expose the NT_ARM_PACA_KEYS and NT_ARM_PACG_KEYS regsets (struct
+user_pac_address_keys and struct user_pac_generic_keys). These can be
+used to get and set the keys for a thread.
+
Virtualization
--------------