Re: [PATCH v34 11/24] x86/sgx: Add SGX enclave driver

2020-07-06 Thread Sean Christopherson
On Tue, Jul 07, 2020 at 05:39:04AM +0100, Matthew Wilcox wrote: > although I think you have a simpler task. > > XA_STATE(xas, ..., start_index); > > for (;;) { > struct page *page = xas_next(); > > if (!page || (~page->vm_max_prot_bits & vm_prot_bits)) >

Re: [PATCH v34 11/24] x86/sgx: Add SGX enclave driver

2020-07-06 Thread Matthew Wilcox
On Mon, Jul 06, 2020 at 09:29:04PM -0700, Sean Christopherson wrote: > > > > + idx_start = PFN_DOWN(start); > > > > + idx_end = PFN_DOWN(end - 1); > > > > + > > > > + for (idx = idx_start; idx <= idx_end; ++idx) { > > > > + mutex_lock(>lock); > > > > +

Re: [PATCH v34 11/24] x86/sgx: Add SGX enclave driver

2020-07-06 Thread Sean Christopherson
Man, I really need to type faster. On Tue, Jul 07, 2020 at 07:11:51AM +0300, Jarkko Sakkinen wrote: > On Tue, Jul 07, 2020 at 04:36:17AM +0100, Matthew Wilcox wrote: > > What's a leaf function? Is it like a CPU instruction? > > Yeah, the opcode is ENCLS for ring-0 (enclave management and >

Re: [PATCH v34 11/24] x86/sgx: Add SGX enclave driver

2020-07-06 Thread Jarkko Sakkinen
On Tue, Jul 07, 2020 at 04:36:17AM +0100, Matthew Wilcox wrote: > On Tue, Jul 07, 2020 at 06:01:51AM +0300, Jarkko Sakkinen wrote: > > Intel Software Guard eXtensions (SGX) is a set of CPU instructions that > > can be used by applications to set aside private regions of code and > > data. The code

Re: [PATCH v34 11/24] x86/sgx: Add SGX enclave driver

2020-07-06 Thread Matthew Wilcox
On Tue, Jul 07, 2020 at 06:01:51AM +0300, Jarkko Sakkinen wrote: > Intel Software Guard eXtensions (SGX) is a set of CPU instructions that > can be used by applications to set aside private regions of code and > data. The code outside the SGX hosted software entity is disallowed to s/disallowed