Re: [PATCH v5 06/11] intel_sgx: driver for Intel Software Guard Extensions

From: Jarkko Sakkinen
Date: Tue Nov 14 2017 - 15:12:53 EST


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