[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cd1eface-aebb-b654-c57c-91690087957f@foss.arm.com>
Date: Fri, 5 Oct 2018 10:01:04 +0100
From: Ramana Radhakrishnan <ramana.radhakrishnan@...s.arm.com>
To: Kristina Martsenko <kristina.martsenko@....com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>
Cc: Adam Wallis <awallis@...eaurora.org>,
Amit Kachhap <Amit.Kachhap@....com>,
Andrew Jones <drjones@...hat.com>,
Ard Biesheuvel <ard.biesheuvel@...aro.org>,
Arnd Bergmann <arnd@...db.de>,
Catalin Marinas <Catalin.Marinas@....com>,
Christoffer Dall <Christoffer.Dall@....com>,
Dave P Martin <Dave.Martin@....com>,
Jacob Bramley <Jacob.Bramley@....com>,
Kees Cook <keescook@...omium.org>,
Marc Zyngier <Marc.Zyngier@....com>,
Mark Rutland <Mark.Rutland@....com>,
Suzuki Poulose <Suzuki.Poulose@....com>,
Will Deacon <Will.Deacon@....com>,
"kvmarm@...ts.cs.columbia.edu" <kvmarm@...ts.cs.columbia.edu>,
"linux-arch@...r.kernel.org" <linux-arch@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [RFC 17/17] arm64: compile the kernel with ptrauth
-msign-return-address
On 05/10/2018 09:47, Kristina Martsenko wrote:
> Compile all functions with two ptrauth instructions: paciasp in the
> prologue to sign the return address, and autiasp in the epilogue to
> authenticate the return address. This should help protect the kernel
> against attacks using return-oriented programming.
>
> CONFIG_ARM64_PTR_AUTH enables pointer auth for both userspace and the
> kernel.
>
> Signed-off-by: Mark Rutland <mark.rutland@....com>
> Signed-off-by: Kristina Martsenko <kristina.martsenko@....com>
> ---
> arch/arm64/Makefile | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
> index 106039d25e2f..dbcd43ea99d8 100644
> --- a/arch/arm64/Makefile
> +++ b/arch/arm64/Makefile
> @@ -56,6 +56,10 @@ KBUILD_AFLAGS += $(lseinstr) $(brokengasinst)
> KBUILD_CFLAGS += $(call cc-option,-mabi=lp64)
> KBUILD_AFLAGS += $(call cc-option,-mabi=lp64)
>
> +ifeq ($(CONFIG_ARM64_PTR_AUTH),y)
> +KBUILD_CFLAGS += -msign-return-address=all
Glad to see this being done and being proposed for mainline.
I can see why you would prefer this though have you guys experimented at
all with -msign-return-address=non-leaf as well ?
Orthogonally and just fair warning - the command lines for this are also
being revised to provide ROP and JOP protection using BTI from v8.5-a
during the GCC-9 timeframe but I suspect that's a different option.
regards
Ramana
Reviewed-by: Ramana Radhakrishnan <ramana.radhakrishnan@....com>
Powered by blists - more mailing lists