diff options
author | Jo Van Bulck <jo.vanbulck@cs.kuleuven.be> | 2023-10-05 17:38:54 +0200 |
---|---|---|
committer | Dave Hansen <dave.hansen@linux.intel.com> | 2023-12-08 10:05:28 -0800 |
commit | 886c5be0b12e89b2905c26c4f24d50ae91f261da (patch) | |
tree | acf6b58fa2fdfd24d1899b7b5395019d6d6b6fd1 /tools/testing | |
parent | ec44ca1e34bc3a9864a8c1bf8636066ec6d5d2e5 (diff) | |
download | linux-886c5be0b12e89b2905c26c4f24d50ae91f261da.tar.gz linux-886c5be0b12e89b2905c26c4f24d50ae91f261da.tar.bz2 linux-886c5be0b12e89b2905c26c4f24d50ae91f261da.zip |
selftests/sgx: Remove incomplete ABI sanitization code in test enclave
As the selftest enclave is *not* intended for production, simplify the
code by not initializing CPU configuration registers as expected by the
ABI on enclave entry or cleansing caller-save registers on enclave exit.
Signed-off-by: Jo Van Bulck <jo.vanbulck@cs.kuleuven.be>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Link: https://lore.kernel.org/all/da0cfb1e-e347-f7f2-ac72-aec0ee0d867d@intel.com/
Link: https://lore.kernel.org/all/20231005153854.25566-14-jo.vanbulck%40cs.kuleuven.be
Diffstat (limited to 'tools/testing')
-rw-r--r-- | tools/testing/selftests/sgx/test_encl_bootstrap.S | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/tools/testing/selftests/sgx/test_encl_bootstrap.S b/tools/testing/selftests/sgx/test_encl_bootstrap.S index 28fe5d2ac0af..d8c4ac94e032 100644 --- a/tools/testing/selftests/sgx/test_encl_bootstrap.S +++ b/tools/testing/selftests/sgx/test_encl_bootstrap.S @@ -59,21 +59,11 @@ encl_entry_core: push %rcx # push the address after EENTER + # NOTE: as the selftest enclave is *not* intended for production, + # simplify the code by not initializing ABI registers on entry or + # cleansing caller-save registers on exit. call encl_body - /* Clear volatile GPRs, except RAX (EEXIT function). */ - xor %rcx, %rcx - xor %rdx, %rdx - xor %rdi, %rdi - xor %rsi, %rsi - xor %r8, %r8 - xor %r9, %r9 - xor %r10, %r10 - xor %r11, %r11 - - # Reset status flags. - add %rdx, %rdx # OF = SF = AF = CF = 0; ZF = PF = 1 - # Prepare EEXIT target by popping the address of the instruction after # EENTER to RBX. pop %rbx |