Re: [PATCH v6 07/13] arm64: add basic pointer authentication support
From: Richard Henderson
Date: Sun Dec 09 2018 - 09:59:52 EST
On 12/7/18 12:39 PM, Kristina Martsenko wrote:
> From: Mark Rutland <mark.rutland@xxxxxxx>
>
> This patch adds basic support for pointer authentication, allowing
> userspace to make use of APIAKey, APIBKey, APDAKey, APDBKey, and
> APGAKey. The kernel maintains key values for each process (shared by all
> threads within), which are initialised to random values at exec() time.
>
> The ID_AA64ISAR1_EL1.{APA,API,GPA,GPI} fields are exposed to userspace,
> to describe that pointer authentication instructions are available and
> that the kernel is managing the keys. Two new hwcaps are added for the
> same reason: PACA (for address authentication) and PACG (for generic
> authentication).
>
> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx>
> Signed-off-by: Kristina Martsenko <kristina.martsenko@xxxxxxx>
> Tested-by: Adam Wallis <awallis@xxxxxxxxxxxxxx>
> Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
> Cc: Ramana Radhakrishnan <ramana.radhakrishnan@xxxxxxx>
> Cc: Suzuki K Poulose <suzuki.poulose@xxxxxxx>
> Cc: Will Deacon <will.deacon@xxxxxxx>
> ---
> arch/arm64/include/asm/pointer_auth.h | 75 +++++++++++++++++++++++++++++++++++
> arch/arm64/include/asm/thread_info.h | 4 ++
> arch/arm64/include/uapi/asm/hwcap.h | 2 +
> arch/arm64/kernel/cpufeature.c | 13 ++++++
> arch/arm64/kernel/cpuinfo.c | 2 +
> arch/arm64/kernel/process.c | 4 ++
> 6 files changed, 100 insertions(+)
> create mode 100644 arch/arm64/include/asm/pointer_auth.h
Reviewed-by: Richard Henderson <richard.henderson@xxxxxxxxxx>
r~