[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5ca5bf92-f2b7-48c9-ea41-5efeff09a799@arm.com>
Date: Tue, 23 Oct 2018 08:36:16 +0000
From: Ramana Radhakrishnan <Ramana.Radhakrishnan@....com>
To: Catalin Marinas <Catalin.Marinas@....com>,
Kristina Martsenko <Kristina.Martsenko@....com>
CC: "linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
Mark Rutland <Mark.Rutland@....com>,
"linux-arch@...r.kernel.org" <linux-arch@...r.kernel.org>,
Andrew Jones <drjones@...hat.com>,
Jacob Bramley <Jacob.Bramley@....com>,
Arnd Bergmann <arnd@...db.de>,
Ard Biesheuvel <ard.biesheuvel@...aro.org>,
Marc Zyngier <Marc.Zyngier@....com>,
Adam Wallis <awallis@...eaurora.org>,
Suzuki Poulose <Suzuki.Poulose@....com>,
Will Deacon <Will.Deacon@....com>,
Christoffer Dall <Christoffer.Dall@....com>,
"kvmarm@...ts.cs.columbia.edu" <kvmarm@...ts.cs.columbia.edu>,
Amit Kachhap <Amit.Kachhap@....com>,
Dave P Martin <Dave.Martin@....com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Kees Cook <keescook@...omium.org>, nd <nd@....com>
Subject: Re: [PATCH v5 07/17] arm64: add basic pointer authentication support
On 19/10/2018 12:15, Catalin Marinas wrote:
> On Fri, Oct 05, 2018 at 09:47:44AM +0100, Kristina Martsenko wrote:
>> diff --git a/arch/arm64/include/asm/pointer_auth.h b/arch/arm64/include/asm/pointer_auth.h
>> new file mode 100644
>> index 000000000000..2aefedc31d9e
>> --- /dev/null
>> +++ b/arch/arm64/include/asm/pointer_auth.h
>> @@ -0,0 +1,63 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +#ifndef __ASM_POINTER_AUTH_H
>> +#define __ASM_POINTER_AUTH_H
>> +
>> +#include <linux/random.h>
>> +
>> +#include <asm/cpufeature.h>
>> +#include <asm/sysreg.h>
>> +
>> +#ifdef CONFIG_ARM64_PTR_AUTH
>> +/*
>> + * Each key is a 128-bit quantity which is split across a pair of 64-bit
>> + * registers (Lo and Hi).
>> + */
>> +struct ptrauth_key {
>> + unsigned long lo, hi;
>> +};
>> +
>> +/*
>> + * We give each process its own instruction A key (APIAKey), which is shared by
>> + * all threads. This is inherited upon fork(), and reinitialised upon exec*().
>> + * All other keys are currently unused, with APIBKey, APDAKey, and APBAKey
>> + * instructions behaving as NOPs.
>> + */
>
> I don't remember the past discussions but I assume the tools guys are ok
> with a single key shared by multiple threads. Ramana, could you ack this
> part, FTR?
Sorry about the slow response, I've been traveling.
Ack and Will's response covers the reasons why pretty well. A prctl call
would be a good enhancement.
regards
Ramana
Powered by blists - more mailing lists