Re: [PATCH v22 16/24] x86/vdso: Add support for exception fixup in vDSO functions

From: Jarkko Sakkinen
Date: Mon Oct 07 2019 - 04:10:35 EST


On Mon, Oct 07, 2019 at 10:57:12AM +0300, Jarkko Sakkinen wrote:
> On Sat, Oct 05, 2019 at 08:54:13AM -0700, Sean Christopherson wrote:
> > On Fri, Oct 04, 2019 at 09:52:21PM +0300, Jarkko Sakkinen wrote:
> > > On Thu, Oct 03, 2019 at 05:15:00PM -0700, Sean Christopherson wrote:
> > > > I'll tackle this tomorrow. I've been working on the feature control MSR
> > > > series and will get that sent out tomorrow as well. I should also be able
> > > > to get you the multi-page EADD patch.
> > >
> > > Great I'll compose the patch set during the weekend and take Monday off
> > > so you have the full work day to get everything (probably send the patch
> > > set on Sunday).
> >
> > Didn't get to the actual SGX stuff yesterday as the feature control series
> > took longer than expected to finish. Working on the other items this
> > morning.
>
> I anyway decided to wait for your patches.
>
> I said in earlier email that two ioctl's would be great but I think the
> following would be the API that I would actually appreciate the most:
>
> struct sgx_enclave_add_page_desc {
> __u64 addr;
> __u64 src;
> __u64 secinfo;
> __u16 mrmask;
> __u8 reserved[6];
> };
>
> struct sgx_enclave_add_page {
> __u64 nr_pages;
> __u64 pages;
> };

Actually, maybe like this:

struct sgx_enclave_add_page_desc {
__u64 addr;
__u64 offset;
__u64 secinfo;
__u16 mrmask;
__u8 reserved[6];
};

struct sgx_enclave_add_page {
__u64 src;
__u64 nr_pages;
__u64 pages;
};

I.e. probably makes sense to fix the same source for all pages.

Also wondering if we should have special case for adding zero pages?
I.e. when you set @src to NULL ioctl would assume that zero pages
would be added?

E.g. I could use this in the selftest to create variable size data
segment.

/Jarkko