Re: [PATCH v21 00/28] Intel SGX foundations

From: Jarkko Sakkinen
Date: Sun Jul 14 2019 - 10:37:32 EST


On Sat, Jul 13, 2019 at 08:07:36PM +0300, Jarkko Sakkinen wrote:
> v21:
> * Check on mmap() that the VMA does cover an area that does not have
> enclave pages. Only mapping with PROT_NONE can do that to reserve
> initial address space for an enclave.
> * Check om mmap() and mprotect() that the VMA permissions do not
> surpass the enclave permissions.
> * Remove two refcounts from vma_close(): mm_list and encl->refcount.
> Enclave refcount is only need for swapper/enclave sync and we can
> remove mm_list refcount by destroying mm_struct when the process
> is closed. By not having vm_close() the Linux MM can merge VMAs.
> * Do not naturally align MAP_FIXED address.
> * Numerous small fixes and clean ups.
> * Use SRCU for synchronizing the list of mm_struct's.
> * Move to stack based call convention in the vDSO.

I forgot something:

* CONFIG_INTEL_SGX_DRIVER is not bistate i.e. no more LKM support. It is
still useful to have the compile-time option because VM host does not
need to have it enabled. Now sgx_init() calls explicitly sgx_drv_init().
In addition, platform driver has been ripped a way because we no
longer need ACPI hotplug. In effect, the device is now parentless.