On Mon, Mar 14, 2022 at 05:45:48AM +0200, Jarkko Sakkinen wrote: > On Mon, Mar 14, 2022 at 05:42:43AM +0200, Jarkko Sakkinen wrote: > > On Fri, Mar 11, 2022 at 11:28:27AM -0800, Reinette Chatre wrote: > > > Supporting permission restriction in an ioctl() enables the runtime to manage > > > the enclave memory without needing to map it. > > > > Which is opposite what you do in EAUG. You can also augment pages without > > needing the map them. Sure you get that capability, but it is quite useless > > in practice. > > Essentially you are tuning for a niche artifical use case over the common > case that most people end up doing. It makes no sense. Also it is important to remember why EMODPR is there: it is not to bring useful control mechanism or interesting applications for SGX. It's there because of hardware constraints. Therefore it should be used accordingly and certainly not to fully expose its interface to the user space. Without hardware constraints, we would have only in-enclave EMODP. It is essentially a reset mechanism for EPCM, not more or less. Therefore, it should be used as such and pick a *fixed* value to reset the EPCM from the mapped range. I think PROT_READ is the sanest choice of the available options. Then, EMODPE can be used for the most part just like "EMODP". Please do not fully expose EMODPR to the user space. It's a pandora box of misbehaviour and shooting yourself into foot. BR, Jarkko