[RFC 7/9] arm64: expose PAC bit positions via ptrace

Dave Martin Dave.Martin at arm.com
Tue Jul 25 08:06:15 PDT 2017


On Tue, Jul 25, 2017 at 03:59:04PM +0100, Mark Rutland wrote:
> On Tue, Jul 25, 2017 at 01:11:48PM +0100, Dave Martin wrote:
> > On Mon, Apr 03, 2017 at 04:19:23PM +0100, Mark Rutland wrote:
> > > +/*
> > > + * The pointer bits used by a pointer authentication code.
> > > + * If we were to use tagged pointers, bits 63:56 would also apply.
> > > + */
> > > +#define ptrauth_pac_mask() 	GENMASK(54, VA_BITS)
> > 
> > Tagged pointers _are_ enabled for userspace by default, no?
> 
> Yes; I'd meant s/tagged/untagged/.
> 
> I've corrected this to:
> 
> /*
>  * The EL0 pointer bits used by a pointer authentication code.
>  * This is dependent on TBI0 being enabled, or bits 63:56 would also apply.
>  */

Yes, that's better.  If we do enable untagged pointers for userspace at
some point though, this is likely to be missed.

I don't have a good answer to this.

> > > diff --git a/include/uapi/linux/elf.h b/include/uapi/linux/elf.h
> > > index b59ee07..cae3d1e 100644
> > > --- a/include/uapi/linux/elf.h
> > > +++ b/include/uapi/linux/elf.h
> > > @@ -414,6 +414,7 @@
> > >  #define NT_ARM_HW_BREAK	0x402		/* ARM hardware breakpoint registers */
> > >  #define NT_ARM_HW_WATCH	0x403		/* ARM hardware watchpoint registers */
> > >  #define NT_ARM_SYSTEM_CALL	0x404	/* ARM system call number */
> > > +#define NT_ARM_PAC_MASK		0x405	/* ARM pointer authentication code masks */
> > 
> > The is the value tentatively assigned to NT_ARM_SVE.
> 
> I must've generated this patch before I corrected this; my local branch
> (and kernel.org) have 0x406 here.
> 
> Sorry about that.

Shame, I had a rant about pragmatism prepped and ready ;)

Cheers
---Dave



More information about the linux-arm-kernel mailing list