[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <960B34DE67B9E140824F1DCDEC400C0F654ED499@ORSMSX116.amr.corp.intel.com>
Date: Mon, 3 Jun 2019 23:48:47 +0000
From: "Xing, Cedric" <cedric.xing@...el.com>
To: "Christopherson, Sean J" <sean.j.christopherson@...el.com>,
"Hansen, Dave" <dave.hansen@...el.com>
CC: Jarkko Sakkinen <jarkko.sakkinen@...ux.intel.com>,
Andy Lutomirski <luto@...nel.org>,
Stephen Smalley <sds@...ho.nsa.gov>,
James Morris <jmorris@...ei.org>,
"Serge E . Hallyn" <serge@...lyn.com>,
LSM List <linux-security-module@...r.kernel.org>,
Paul Moore <paul@...l-moore.com>,
Eric Paris <eparis@...isplace.org>,
"selinux@...r.kernel.org" <selinux@...r.kernel.org>,
Jethro Beekman <jethro@...tanix.com>,
"Thomas Gleixner" <tglx@...utronix.de>,
Linus Torvalds <torvalds@...ux-foundation.org>,
LKML <linux-kernel@...r.kernel.org>, X86 ML <x86@...nel.org>,
"linux-sgx@...r.kernel.org" <linux-sgx@...r.kernel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
"nhorman@...hat.com" <nhorman@...hat.com>,
"npmccallum@...hat.com" <npmccallum@...hat.com>,
"Ayoun, Serge" <serge.ayoun@...el.com>,
"Katz-zamir, Shay" <shay.katz-zamir@...el.com>,
"Huang, Haitao" <haitao.huang@...el.com>,
"Andy Shevchenko" <andriy.shevchenko@...ux.intel.com>,
"Svahn, Kai" <kai.svahn@...el.com>, Borislav Petkov <bp@...en8.de>,
Josh Triplett <josh@...htriplett.org>,
"Huang, Kai" <kai.huang@...el.com>,
David Rientjes <rientjes@...gle.com>,
"Roberts, William C" <william.c.roberts@...el.com>,
"Tricca, Philip B" <philip.b.tricca@...el.com>
Subject: RE: [RFC PATCH 3/9] x86/sgx: Allow userspace to add multiple pages
in single ioctl()
> -----Original Message-----
> From: Christopherson, Sean J
> Sent: Monday, June 03, 2019 1:37 PM
> To: Hansen, Dave <dave.hansen@...el.com>
> Cc: Jarkko Sakkinen <jarkko.sakkinen@...ux.intel.com>; Andy Lutomirski
> <luto@...nel.org>; Xing, Cedric <cedric.xing@...el.com>; Stephen Smalley
> <sds@...ho.nsa.gov>; James Morris <jmorris@...ei.org>; Serge E . Hallyn
> <serge@...lyn.com>; LSM List <linux-security-module@...r.kernel.org>;
> Paul Moore <paul@...l-moore.com>; Eric Paris <eparis@...isplace.org>;
> selinux@...r.kernel.org; Jethro Beekman <jethro@...tanix.com>; Thomas
> Gleixner <tglx@...utronix.de>; Linus Torvalds <torvalds@...ux-
> foundation.org>; LKML <linux-kernel@...r.kernel.org>; X86 ML
> <x86@...nel.org>; linux-sgx@...r.kernel.org; Andrew Morton <akpm@...ux-
> foundation.org>; nhorman@...hat.com; npmccallum@...hat.com; Ayoun, Serge
> <serge.ayoun@...el.com>; Katz-zamir, Shay <shay.katz-zamir@...el.com>;
> Huang, Haitao <haitao.huang@...el.com>; Andy Shevchenko
> <andriy.shevchenko@...ux.intel.com>; Svahn, Kai <kai.svahn@...el.com>;
> Borislav Petkov <bp@...en8.de>; Josh Triplett <josh@...htriplett.org>;
> Huang, Kai <kai.huang@...el.com>; David Rientjes <rientjes@...gle.com>;
> Roberts, William C <william.c.roberts@...el.com>; Tricca, Philip B
> <philip.b.tricca@...el.com>
> 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;
> }
Powered by blists - more mailing lists