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

From: Mark Rutland
Date: Tue Jul 25 2017 - 11:00:44 EST


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.
*/

> > 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.

Mark.