Re: [PATCH v16 18/22] platform/x86: Intel SGX driver

From: Dave Hansen
Date: Tue Nov 06 2018 - 11:57:43 EST


On 11/6/18 8:40 AM, Sean Christopherson wrote:
>> +struct sgx_encl {
>> + unsigned int flags;
>> + uint64_t attributes;
>> + uint64_t xfrm;
>> + unsigned int page_cnt;
>> + unsigned int secs_child_cnt;
>> + struct mutex lock;
>> + struct mm_struct *mm;
>> + struct file *backing;
> Is there any particular reason why the kernel manages the backing for
> the enclave and the PCMDs?ÂÂCould we have userspace provide the backing
> either through the ECREATE ioctl() or maybe a completely new ioctl(),
> e.g. to give userspace the option to back the enclave with a NVDIMM
> instead of RAM? ÂA separate ioctl() with control flags might give us
> some flexibility in the future, e.g. maybe there are use cases where
> userspace would prefer to kill enclaves rather than swap EPC.

I'll take the blame for this little nugget. I think it was my idea. We
have a few of these kernel-internal shmfs files. But, as you note, it
would be really nice if they were subject to the normal memory APIs and
we could set NUMA policies on them and so forth.

We could just wire the NUMA (and other) APIs up to the SGX VMA.