[PATCH for_v23 00/16] x86/vdso: sgx: Major vDSO cleanup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The main purpose of this series is to implement feedback from the original
RFC to expand the vDSO[*] that went unaddressed before the expanded
function was rushed into v21.

The other half of the series is to overhaul the selftest to actually test
the exit handler variation of the vDSO, with a bunch of prework to add an
assertion framework to standardize the various assertions in the test and
improve the readability of the code.

The basic ideas for the exit handler subtests are from Cedric's original
RFC, but rewritten from scratch to take advantage of the new assertion
framework.  I haven't yet implemented single-step subtest, ideally that
too will get done before v23.

[*] https://lkml.kernel.org/r/20190426210017.GA24467@xxxxxxxxxxxxxxx

Sean Christopherson (16):
  x86/vdso: sgx: Drop the pseudocode "documentation"
  x86/vdso: sgx: Do not use exception info to pass success/failure
  x86/vdso: sgx: Rename the enclave exit handler typedef
  x86/vdso: sgx: Move enclave exit handler declaration to UAPI header
  x86/vdso: sgx: Add comment regarding kernel-doc shenanigans
  x86/vdso: sgx: Rewrite __vdso_sgx_enter_enclave() function comment
  selftests/x86: Fix linker warning in SGX selftest
  selftests/x86/sgx: Use getauxval() to retrieve the vDSO base address
  selftests/x86/sgx: Add helper function and macros to assert results
  selftests/x86/sgx: Handle setup failures via test assertions
  selftests/x86/sgx: Sanitize the types for sgx_call()'s input params
  selftests/x86/sgx: Move existing sub-test to a separate helper
  selftests/x86/sgx: Add a test of the vDSO exception reporting
    mechanism
  selftests/x86/sgx: Add test of vDSO with basic exit handler
  selftests/x86/sgx: Add sub-test for exception behavior with exit
    handler
  x86/vdso: sgx: Rework __vdso_sgx_enter_enclave() to prefer "no
    callback"

 arch/x86/entry/vdso/vsgx_enter_enclave.S  | 228 +++++++------
 arch/x86/include/uapi/asm/sgx.h           |  18 +
 tools/testing/selftests/x86/sgx/Makefile  |   2 +-
 tools/testing/selftests/x86/sgx/defines.h |   6 +
 tools/testing/selftests/x86/sgx/main.c    | 384 ++++++++++++++--------
 5 files changed, 387 insertions(+), 251 deletions(-)

-- 
2.22.0




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux