> -----Original Message-----
> From: Christopherson, Sean J
> Sent: Monday, June 03, 2019 1:37 PM
> To: Hansen, Dave <[email protected]>
> Cc: Jarkko Sakkinen <[email protected]>; Andy Lutomirski
> <[email protected]>; Xing, Cedric <[email protected]>; Stephen Smalley
> <[email protected]>; James Morris <[email protected]>; Serge E . Hallyn
> <[email protected]>; LSM List <[email protected]>;
> Paul Moore <[email protected]>; Eric Paris <[email protected]>;
> [email protected]; Jethro Beekman <[email protected]>; Thomas
> Gleixner <[email protected]>; Linus Torvalds <torvalds@linux-
> foundation.org>; LKML <[email protected]>; X86 ML
> <[email protected]>; [email protected]; Andrew Morton <akpm@linux-
> foundation.org>; [email protected]; [email protected]; Ayoun, Serge
> <[email protected]>; Katz-zamir, Shay <[email protected]>;
> Huang, Haitao <[email protected]>; Andy Shevchenko
> <[email protected]>; Svahn, Kai <[email protected]>;
> Borislav Petkov <[email protected]>; Josh Triplett <[email protected]>;
> Huang, Kai <[email protected]>; David Rientjes <[email protected]>;
> Roberts, William C <[email protected]>; Tricca, Philip B
> <[email protected]>
> 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;
>       }

Reply via email to