Re: SGX vs LSM (Re: [PATCH v20 00/28] Intel SGX1 support)
From: Sean Christopherson <hidden>
Date: 2019-05-30 21:16:49
Also in:
lkml, selinux
From: Sean Christopherson <hidden>
Date: 2019-05-30 21:16:49
Also in:
lkml, selinux
On Thu, May 30, 2019 at 12:20:45PM -0700, Andy Lutomirski wrote:
On Thu, May 30, 2019 at 11:01 AM Sean Christopherson [off-list ref] wrote:quoted
On Thu, May 30, 2019 at 09:14:10AM -0700, Andy Lutomirski wrote:quoted
Enclave file -- that is, the file backing the vma from which the data is loaded.It wasn't explicitly called out in Andy's proposal(s), but the idea is that the SGX driver would effectively inherit permissions from the source VMA (EADD needs a source for the initial value of the encave page).I actually meant for it to *not* work like this. I don't want the source VMA to have to be VM_EXEC. I think the LSM should just check permissions on ->vm_file.
But if ->vm_file is NULL, i.e. the enclave is not backed by a file, then PROCESS__EXECMEM is required (or more likely, ENCLAVE__EXECMEM). In practice, it's the same net effect of using sigstruct as a proxy, i.e. *something* has to get to the file system to avoid EXECMEM. But putting the entire enclave to the filesystem seems like a heaver lift than dumping the sigstruct. And if sigstruct needs to be in the file system for security_enclave_create/init()...