mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-04 17:44:14 +08:00
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
This commit is contained in:
parent
ec44ca1e34
commit
886c5be0b1
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user