Remove the statement about the userspace exit handler being required to clean up the untrusted stack, the vDSO unconditionally restores %rsp to its value at the time of EEXIT. Reported-by: Nathaniel McCallum <npmccallum@xxxxxxxxxx> Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx> --- arch/x86/entry/vdso/vsgx_enter_enclave.S | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/arch/x86/entry/vdso/vsgx_enter_enclave.S b/arch/x86/entry/vdso/vsgx_enter_enclave.S index 94a8e5f99961..22a22e0774d8 100644 --- a/arch/x86/entry/vdso/vsgx_enter_enclave.S +++ b/arch/x86/entry/vdso/vsgx_enter_enclave.S @@ -59,10 +59,8 @@ * 0: success, return @ret to the caller * <0: error, return @ret to the caller * - * The userspace exit handler is responsible for unwinding the stack, e.g. to - * pop @e, u_rsp and @tcs, prior to returning to __vdso_sgx_enter_enclave(). - * The exit handler may also transfer control, e.g. via longjmp() or a C++ - * exception, without returning to __vdso_sgx_enter_enclave(). + * The exit handler may transfer control, e.g. via longjmp() or C++ exception, + * without returning to __vdso_sgx_enter_enclave(). * * Return: * 0 on success, -- 2.24.1