Re: RFC: userspace exception fixups

From: Jethro Beekman
Date: Wed Nov 07 2018 - 01:47:42 EST


On 2018-11-07 02:17, Andy Lutomirski wrote:
On Tue, Nov 6, 2018 at 4:02 PM Sean Christopherson
<sean.j.christopherson@xxxxxxxxx> wrote:

/*
* EEXIT or EENTER faulted. In the latter case, %RAX already holds some
* fault indicator, e.g. -EFAULT.
*/
eexit_or_eenter_fault:
ret

But userspace wants to know whether it was a fault or not. So I think
we either need two landing pads or we need to hijack a flag bit (are
there any known-zeroed flag bits after EEXIT?) to say whether it was a
fault. And, if it was a fault, we should give the vector, the
sanitized error code, and possibly CR2.

On AEX, %rax will contain ENCLU_LEAF_ERESUME (0x3). On EEXIT, %rax will contain ENCLU_LEAF_EEXIT (0x4).

--
Jethro Beekman | Fortanix

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature