On Wed, 2021-09-15 at 13:30 -0700, Reinette Chatre wrote: > Hi Everybody, > > This series consists out of outstanding SGX selftests changes, rebased > and gathered in a single series that is more easily merged for testing > and development, and a few more changes added to expand the existing tests. > > The outstanding SGX selftest changes included in this series that have already > been submitted separately are: > > * An almost two year old patch fixing a benign linker warning that is still > present today: > https://lore.kernel.org/linux-sgx/20191017030340.18301-2-sean.j.christopherson@xxxxxxxxx/ > The original patch is added intact and not all email addresses > within are valid. > > * Latest (v4) of Jarkko Sakkinen's series to add an oversubscription test: > https://lore.kernel.org/linux-sgx/20210809093127.76264-1-jarkko@xxxxxxxxxx/ > > * Latest (v2) of Jarkko Sakkinen's patch that provides provide per-op > parameter structs for the test enclave: > https://lore.kernel.org/linux-sgx/20210812224645.90280-1-jarkko@xxxxxxxxxx/ > > The reason why most of these patches are outstanding is that they depend > on a kernel change that is still under discussion. Decision to wait in: > https://lore.kernel.org/linux-sgx/f8674dac5579a8a424de1565f7ffa2b5bf2f8e36.camel@xxxxxxxxxx/ > The original patch for this kernel dependency continues to be included in > this series as a placeholder until the ongoing discussions are concluded. > > The new changes introduced in this series builds on Jarkko's outstanding > SGX selftest changes and adds new tests for page permissions, exception > handling, and thread entry. > > Reinette > > Jarkko Sakkinen (9): > x86/sgx: Add /sys/kernel/debug/x86/sgx_total_mem > selftests/sgx: Assign source for each segment > selftests/sgx: Make data measurement for an enclave segment optional > selftests/sgx: Create a heap for the test enclave > selftests/sgx: Dump segments and /proc/self/maps only on failure > selftests/sgx: Encpsulate the test enclave creation > selftests/sgx: Move setup_test_encl() to each TEST_F() > selftests/sgx: Add a new kselftest: unclobbered_vdso_oversubscribed > selftests/sgx: Provide per-op parameter structs for the test enclave > > Reinette Chatre (4): > selftests/sgx: Rename test properties in preparation for more enclave > tests > selftests/sgx: Add page permission and exception test > selftests/sgx: Enable multiple thread support > selftests/sgx: Add test for multiple TCS entry > Sean Christopherson (1): > selftests/x86/sgx: Fix a benign linker warning > > Documentation/x86/sgx.rst | 6 + > arch/x86/kernel/cpu/sgx/main.c | 10 +- > tools/testing/selftests/sgx/Makefile | 2 +- > tools/testing/selftests/sgx/defines.h | 33 +- > tools/testing/selftests/sgx/load.c | 40 +- > tools/testing/selftests/sgx/main.c | 341 +++++++++++++++--- > tools/testing/selftests/sgx/main.h | 7 +- > tools/testing/selftests/sgx/sigstruct.c | 12 +- > tools/testing/selftests/sgx/test_encl.c | 60 ++- > .../selftests/sgx/test_encl_bootstrap.S | 21 +- > 10 files changed, 445 insertions(+), 87 deletions(-) > One test that would be also nice to have at some point would be vepc test. It's not exceptionally hard to ramp up KVM: https://lwn.net/Articles/658511/ Hmm... perhaps this type of kselftest should be part of the series that Paolo is upstreaming because otherwise we are dependent on non-upstream QEMU to test those changes. Looking back, this would have been already good idea to ramp up when the original KVM-SGX series was upstreamed because not that many have motivation to self-compile QEMU (I did but thinking about potential larger coverage). /Jarkko