On Tue, Nov 14, 2017 at 10:41:50AM +1100, James Morris wrote: > On Mon, 13 Nov 2017, Jarkko Sakkinen wrote: > > > + > > + secs_epc = sgx_alloc_page(0); > > Use SGX_ALLOC_ATOMIC instead of 0 ? It is used in the #PF handler where it is not safe to swap pages in the call context. I.e. you cannot lock mmap_sem without potentially causing a deadlock. > > + if (IS_ERR(secs_epc)) { > > + ret = PTR_ERR(secs_epc); > > + goto out; > > + } > > > +out: > > + if (encl) > > + kref_put(&encl->refcount, sgx_encl_release); > > + return ret; > > +} > > Don't you need an sgx_free_page() somewhere here? It will get freed by sgx_encl_release(). > -- > James Morris > <james.l.morris@xxxxxxxxxx> /Jarkko