RE: [RFC PATCH 3/9] x86/sgx: Allow userspace to add multiple pages in single ioctl()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Christopherson, Sean J
> Sent: Monday, June 03, 2019 1:37 PM
> To: Hansen, Dave <dave.hansen@xxxxxxxxx>
> Cc: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx>; Andy Lutomirski
> <luto@xxxxxxxxxx>; Xing, Cedric <cedric.xing@xxxxxxxxx>; Stephen Smalley
> <sds@xxxxxxxxxxxxx>; James Morris <jmorris@xxxxxxxxx>; Serge E . Hallyn
> <serge@xxxxxxxxxx>; LSM List <linux-security-module@xxxxxxxxxxxxxxx>;
> Paul Moore <paul@xxxxxxxxxxxxxx>; Eric Paris <eparis@xxxxxxxxxxxxxx>;
> selinux@xxxxxxxxxxxxxxx; Jethro Beekman <jethro@xxxxxxxxxxxx>; Thomas
> Gleixner <tglx@xxxxxxxxxxxxx>; Linus Torvalds <torvalds@linux-
> foundation.org>; LKML <linux-kernel@xxxxxxxxxxxxxxx>; X86 ML
> <x86@xxxxxxxxxx>; linux-sgx@xxxxxxxxxxxxxxx; Andrew Morton <akpm@linux-
> foundation.org>; nhorman@xxxxxxxxxx; npmccallum@xxxxxxxxxx; Ayoun, Serge
> <serge.ayoun@xxxxxxxxx>; Katz-zamir, Shay <shay.katz-zamir@xxxxxxxxx>;
> Huang, Haitao <haitao.huang@xxxxxxxxx>; Andy Shevchenko
> <andriy.shevchenko@xxxxxxxxxxxxxxx>; Svahn, Kai <kai.svahn@xxxxxxxxx>;
> Borislav Petkov <bp@xxxxxxxxx>; Josh Triplett <josh@xxxxxxxxxxxxxxxx>;
> Huang, Kai <kai.huang@xxxxxxxxx>; David Rientjes <rientjes@xxxxxxxxxx>;
> Roberts, William C <william.c.roberts@xxxxxxxxx>; Tricca, Philip B
> <philip.b.tricca@xxxxxxxxx>
> Subject: Re: [RFC PATCH 3/9] x86/sgx: Allow userspace to add multiple
> pages in single ioctl()
> 
> On Mon, Jun 03, 2019 at 01:14:45PM -0700, Dave Hansen wrote:
> > On 5/31/19 4:31 PM, Sean Christopherson wrote:
> > > -struct sgx_enclave_add_page {
> > > +struct sgx_enclave_add_pages {
> > >  	__u64	addr;
> > >  	__u64	src;
> > >  	__u64	secinfo;
> > > +	__u32	nr_pages;
> > >  	__u16	mrmask;
> > >  } __attribute__((__packed__));
> >
> > IMNHO this follows a user interface anti-pattern: exposing page sizes
> > where not strictly required.
> >
> > Think of how this would look to an application if page size was
> > variable.  With this interface, they always need to scale their
> > operations by page size instead of just aligning it.
> 
> I briefly considered taking size in bytes, but I took a shortcut because
> EPC pages are architecturally defined to be 4k sized and aligned.  That
> being said, I don't necessarily disagree, especially if nr_pages isn't
> squeezed into a u32.
> 
> > BTW, why is nr_pages a u32?  Do we never envision a case where you can
> > add more than 4TB of memory to an enclave? ;)
> 
> Heh, fair enough.  IIRC, a while back someone posted about having
> problems building a 512gb enclave in a 92mb EPC...
> 
> How about this for the intermediate patch:
> 
> 	struct sgx_enclave_add_region {
> 		__u64	addr;
> 		__u64	src;
> 		__u64	size;
> 		__u64	secinfo;
> 		__u16	mrmask;
> 		__u16	reserved16;
> 		__u32	reserved;
> 	}
> 
> and with the flags field:
> 
> 	struct sgx_enclave_add_region {
> 		__u64	addr;
> 		__u64	src;
> 		__u64	size;
> 		__u64	secinfo;
> 		__u16	mrmask;
> 		__u16	flags;

What is "flags" here?

> 		__u32	reserved;
> 	}



[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux