Re: [PATCH v3 0/2] x86: sgx_vepc: implement ioctl to EREMOVE all pages

From: Borislav Petkov
Date: Mon Oct 18 2021 - 08:58:38 EST


On Sat, Oct 16, 2021 at 03:14:32AM -0400, Paolo Bonzini wrote:
> Add to /dev/sgx_vepc a ioctl that brings vEPC pages back to uninitialized
> state with EREMOVE. This is useful in order to match the expectations
> of guests after reboot, and to match the behavior of real hardware.
>
> The ioctl is a cleaner alternative to closing and reopening the
> /dev/sgx_vepc device; reopening /dev/sgx_vepc could be problematic in
> case userspace has sandboxed itself since the time it first opened the
> device, and has thus lost permissions to do so.
>
> If possible, I would like these patches to be included in 5.15 through
> either the x86 or the KVM tree.
>
> Thanks,
>
> Paolo
>
> Changes from RFC:
> - improved commit messages, added documentation
> - renamed ioctl from SGX_IOC_VEPC_REMOVE to SGX_IOC_VEPC_REMOVE_ALL
>
> Change from v1:
> - fixed documentation and code to cover SGX_ENCLAVE_ACT errors
> - removed Tested-by since the code is quite different now
>
> Changes from v2:
> - return EBUSY also if EREMOVE causes a general protection fault
>
> Paolo Bonzini (2):
> x86: sgx_vepc: extract sgx_vepc_remove_page
> x86: sgx_vepc: implement SGX_IOC_VEPC_REMOVE_ALL ioctl
>
> Documentation/x86/sgx.rst | 35 +++++++++++++++++++++
> arch/x86/include/uapi/asm/sgx.h | 2 ++
> arch/x86/kernel/cpu/sgx/virt.c | 63 ++++++++++++++++++++++++++++++---
> 3 files changed, 95 insertions(+), 5 deletions(-)

Sean,

are you happy with that version now?

Thx.

--
Regards/Gruss,
Boris.

SUSE Software Solutions Germany GmbH, GF: Felix Imendörffer, HRB 36809, AG Nürnberg