Re: [PATCH v2 1/2] arm64/crash_core: Export KERNELPACMASK in vmcoreinfo
From: Will Deacon
Date: Wed May 06 2020 - 08:31:19 EST
On Wed, May 06, 2020 at 05:32:56PM +0530, Amit Kachhap wrote:
> On 5/4/20 10:47 PM, Will Deacon wrote:
> > On Mon, Apr 27, 2020 at 11:55:01AM +0530, Amit Daniel Kachhap wrote:
> > > diff --git a/arch/arm64/include/asm/compiler.h b/arch/arm64/include/asm/compiler.h
> > > index eece20d..32d5900 100644
> > > --- a/arch/arm64/include/asm/compiler.h
> > > +++ b/arch/arm64/include/asm/compiler.h
> > > @@ -19,6 +19,9 @@
> > > #define __builtin_return_address(val) \
> > > (void *)(ptrauth_clear_pac((unsigned long)__builtin_return_address(val)))
> > > +#else /* !CONFIG_ARM64_PTR_AUTH */
> > > +#define ptrauth_user_pac_mask() 0ULL
> > > +#define ptrauth_kernel_pac_mask() 0ULL
> >
> > This doesn't look quite right to me, since you still have to take into
> > account the case where CONFIG_ARM64_PTR_AUTH=y but the feature is not
> > available at runtime:
>
> Yes agree with you here. However the config gaurd is saving some extra
> computation for __builtin_return_address. There are some compiler
> support being added in __builtin_extract_return_address to mask the PAC.
> Hopefully that will improve this code. In the meantime let it be like this.
Does the extra computation matter? Isn't it just a couple of instructions?
Will