lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20160704210841.GA8915@simonLocalRHEL7.x64>
Date:	Tue, 5 Jul 2016 05:08:41 +0800
From:	Simon Guo <wei.guo.simon@...il.com>
To:	Michael Ellerman <mpe@...erman.id.au>
Cc:	Kees Cook <keescook@...omium.org>,
	Rashmica Gupta <rashmicy@...il.com>,
	linux-kernel@...r.kernel.org,
	Simon Guo <simonguo@...ux.vnet.ibm.com>,
	Paul Mackerras <paulus@...ba.org>,
	Laurent Dufour <ldufour@...ux.vnet.ibm.com>,
	linuxppc-dev@...ts.ozlabs.org
Subject: Re: [RESEND, v2] powerpc: Export thread_struct.used_vr/used_vsr to
 user space

Hi Michael,
On Tue, Jul 05, 2016 at 03:40:40PM +1000, Michael Ellerman wrote:
> On Wed, 2016-06-04 at 07:00:12 UTC, Simon Guo wrote:
> > These 2 fields track whether user process has used Altivec/VSX
> > registers or not. They are used by kernel to setup signal frame
> > on user stack correctly regarding vector part.
> > 
> > CRIU(Checkpoint and Restore In User space) builds signal frame
> > for restored process. It will need this export information to
> > setup signal frame correctly. And CRIU will need to restore these
> > 2 fields for the restored process.
> > 
> > Signed-off-by: Simon Guo <wei.guo.simon@...il.com>
> > Reviewed-by: Laurent Dufour <ldufour@...ux.vnet.ibm.com>
> > @@ -176,6 +176,17 @@ struct pt_regs {
> >  #define PTRACE_GETREGS64	  0x16
> >  #define PTRACE_SETREGS64	  0x17
> >  
> > +/*
> > + * Get or set some register used bit.
> > + * The flags will be saved in a 32 bit data.
> > + * Currently it is only used for VR/VSR usage.
> > + */
> > +#define PTRACE_GET_REGS_USAGE	  0x1e
> > +#define PTRACE_SET_REGS_USAGE	  0x1f
> > +
> > +#define PTRACE_REGS_USAGE_VR_BIT  0x00000001
> > +#define PTRACE_REGS_USAGE_VSR_BIT 0x00000002
> 
> 
> It looks like you just made up this new ptrace ABI ?
> 
> Or is it used on other arches ? (no AFAICS)
> 
> How do other arches handle this ?
> 
> I'm a bit wary of adding new ptrace ABIs.
> 
> If we do want to do this, I'd at least think the mask should be u64, to give us
> more capacity to add new registers.
> 
> cheers

It is only used on PowerPc currently. I had better rename
it to:
#define PPC_PTRACE_GET_REGS_USAGE        0x96
#define PPC_PTRACE_SET_REGS_USAGE        0x97

I will change the mask into u64. 

Thanks,
- Simon

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ