1. 22 Oct, 2021 1 commit
    • Paolo Bonzini's avatar
      x86/sgx/virt: extract sgx_vepc_remove_page · fd5128e6
      Paolo Bonzini authored
      For bare-metal SGX on real hardware, the hardware provides guarantees
      SGX state at reboot.  For instance, all pages start out uninitialized.
      The vepc driver provides a similar guarantee today for freshly-opened
      vepc instances, but guests such as Windows expect all pages to be in
      uninitialized state on startup, including after every guest reboot.
      
      One way to do this is to simply close and reopen the /dev/sgx_vepc file
      descriptor and re-mmap the virtual EPC.  However, this is problematic
      because it prevents sandboxing the userspace (for example forbidding
      open() after the guest starts; this is doable with heavy use of SCM_RIGHTS
      file descriptor passing).
      
      In order to implement this, we will need a ioctl that performs
      EREMOVE on all pages mapped by a /dev/sgx_vepc file descriptor:
      other possibilities, such as closing and reopening the device,
      are racy.
      
      Start the implementation by creating a separate function with just
      the __eremove wrapper.
      Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
      Reviewed-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarDave Hansen <dave.hansen@linux.intel.com>
      Link: https://lkml.kernel.org/r/20211021201155.1523989-2-pbonzini@redhat.com
      fd5128e6
  2. 18 Oct, 2021 17 commits
  3. 17 Oct, 2021 3 commits
  4. 16 Oct, 2021 19 commits