• Linus Torvalds's avatar
    Merge tag 'x86_sgx_for_v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5583ff67
    Linus Torvalds authored
    Pull x86 SGC support from Borislav Petkov:
     "Intel Software Guard eXtensions enablement. This has been long in the
      making, we were one revision number short of 42. :)
    
      Intel SGX is new hardware functionality that can be used by
      applications to populate protected regions of user code and data
      called enclaves. Once activated, the new hardware protects enclave
      code and data from outside access and modification.
    
      Enclaves provide a place to store secrets and process data with those
      secrets. SGX has been used, for example, to decrypt video without
      exposing the decryption keys to nosy debuggers that might be used to
      subvert DRM. Software has generally been rewritten specifically to run
      in enclaves, but there are also projects that try to run limited
      unmodified software in enclaves.
    
      Most of the functionality is concentrated into arch/x86/kernel/cpu/sgx/
      except the addition of a new mprotect() hook to control enclave page
      permissions and support for vDSO exceptions fixup which will is used
      by SGX enclaves.
    
      All this work by Sean Christopherson, Jarkko Sakkinen and many others"
    
    * tag 'x86_sgx_for_v5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (30 commits)
      x86/sgx: Return -EINVAL on a zero length buffer in sgx_ioc_enclave_add_pages()
      x86/sgx: Fix a typo in kernel-doc markup
      x86/sgx: Fix sgx_ioc_enclave_provision() kernel-doc comment
      x86/sgx: Return -ERESTARTSYS in sgx_ioc_enclave_add_pages()
      selftests/sgx: Use a statically generated 3072-bit RSA key
      x86/sgx: Clarify 'laundry_list' locking
      x86/sgx: Update MAINTAINERS
      Documentation/x86: Document SGX kernel architecture
      x86/sgx: Add ptrace() support for the SGX driver
      x86/sgx: Add a page reclaimer
      selftests/x86: Add a selftest for SGX
      x86/vdso: Implement a vDSO for Intel SGX enclave call
      x86/traps: Attempt to fixup exceptions in vDSO before signaling
      x86/fault: Add a helper function to sanitize error code
      x86/vdso: Add support for exception fixup in vDSO functions
      x86/sgx: Add SGX_IOC_ENCLAVE_PROVISION
      x86/sgx: Add SGX_IOC_ENCLAVE_INIT
      x86/sgx: Add SGX_IOC_ENCLAVE_ADD_PAGES
      x86/sgx: Add SGX_IOC_ENCLAVE_CREATE
      x86/sgx: Add an SGX misc driver interface
      ...
    5583ff67
Kconfig 94.5 KB