On Thu, Mar 10, 2022 at 07:43:42AM +0200, Jarkko Sakkinen wrote: > On Thu, Mar 03, 2022 at 01:44:14PM -0800, Dave Hansen wrote: > > On 3/3/22 13:23, Reinette Chatre wrote: > > > Unfortunately MAP_POPULATE is not supported by SGX VMAs because of their > > > VM_IO and VM_PFNMAP flags. When VMAs with such flags obtain this capability > > > then I believe that SGX would benefit. > > > > Some Intel folks asked for this quite a while ago. I think it's > > entirely doable: add a new vm_ops->populate() function that will allow > > ignoring VM_IO|VM_PFNMAP if present. > > > > Or, if nobody wants to waste all of the vm_ops space, just add an > > arch_vma_populate() or something which can call over into SGX. > > > > I'll happily review the patches if anyone can put such a beast together. > > Everyone would be better off, if EAUG's were done unconditionally for > mmap() after initialization. Nice property is that this needs no core mm > changes. > > The resource saving argument is at least a bit weak because you might use > EMODPR for the address range anyway. So you end up doing things just > slower. And to have good confidentiality, you actually probably want to > clear also dynamically added pages with EACCEPTCOPY (and zero page) when > you take them into use. > > I find it also a bit worrying that enclave has direct access to allocate > kernel resources and trigger ring-0 opcode. I don't like that part at > all. syscall/ioctl sets the correct barrier, as the host side should be > and is the resource manager, not the enclave. Actually, this should be ABI compatible too. I'd expect all kselftests continue work as they are. BR, Jarkko