On Mon, Apr 22, 2019 at 06:29:06PM -0700, Andy Lutomirski wrote: > On Mon, Apr 22, 2019 at 5:37 PM Cedric Xing <cedric.xing@xxxxxxxxx> wrote: > > > > Given the changes to __vdso_sgx_enter_enclave(), the selftest is augmented to > > test the newly added callback interface. This addtional test marks the whole > > enclave range as PROT_READ, and calls mprotect() upon #PFs to add necessary PTE > > permissions per PFEC (#PF Error Code) until the enclave finishes. > > Nifty. > > What's not tested here is running this code with EFLAGS.TF set and > making sure that it unwinds correctly. Also, Jarkko, unless I missed > something, the vDSO extable code likely has a bug. If you run the > instruction right before ENCLU with EFLAGS.TF set, then do_debug() > will eat the SIGTRAP and skip to the exception handler. Similarly, if > you put an instruction breakpoint on ENCLU, it'll get skipped. Or is > the code actually correct and am I just remembering wrong? My money would be on the code being broken as opposed to you remembering wrong. I'll take a look at it tomorrow.