From: "Dr. Greg" <greg@enjellic.com> To: Haitao Huang <haitao.huang@linux.intel.com> Cc: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>, linux-kernel@vger.kernel.org, x86@kernel.org, linux-sgx@vger.kernel.org, akpm@linux-foundation.org, dave.hansen@intel.com, sean.j.christopherson@intel.com, nhorman@redhat.com, npmccallum@redhat.com, haitao.huang@intel.com, andriy.shevchenko@linux.intel.com, tglx@linutronix.de, kai.svahn@intel.com, bp@alien8.de, josh@joshtriplett.org, luto@kernel.org, kai.huang@intel.com, rientjes@google.com, cedric.xing@intel.com, puiterwijk@redhat.com, linux-kselftest@vger.kernel.org Subject: Re: [PATCH v28 14/22] selftests/x86: Add a selftest for SGX Date: Mon, 16 Mar 2020 20:07:18 -0500 Message-ID: <20200317010718.GA2546@wind.enjellic.com> (raw) In-Reply-To: <op.0g923rgpwjvjmi@hhuan26-mobl1.amr.corp.intel.com> On Tue, Mar 10, 2020 at 02:29:41PM -0500, Haitao Huang wrote: Good evening, I hope the week is going well for everyone. > >Just as a clarification, are you testing the new driver against > >signed production class enclaves in .so format that also include > >metadata layout directives or is the driver just getting tested > >against the two page toy enclave that copies a word of memory from > >one memory location to another? > We (Intel SGX SDK/PSW team) tested this driver for enclaves in .so > format with metadata. Our 2.8 release supports v24 and 2.9 supports > v25+. Both production signed and debug signed enclaves worked. > > *Note* we did make some code changes in our runtime for v24+, mainly > dealing with src & EPC page alignment for EADD, open one fd per > enclave, use -z noexecstack linker option, etc. You can see the > changes on GitHub. Lots of knobs getting turned at the same time but we sorted out all the issues and our runtime is now passing its regression tests with the new driver, with an exception that we note below. I suspect that we might have the only complete and architecturally independent runtime implementation so if the new driver is working against yours and ours it would seem to be a reasonable test spectrum for the driver. > >We see the same behavior from both our unit test enclaves and the > >Quoting Enclave from the Intel SGX runtime. > We did not see any issue loading QE in our tests. Please directly > email me on this test if you have specific questions. As it turns out the major problem we were running into with respect to the QE test was the fact that generic use of atexit() handlers was disabled by changes that went into the 2.8 SDK. Our runtime and SDK assume that enclave atexit() handling works. The enclave UNINIT ECALL is only allowed on runtimes that are advertising EDMM support. That seems excessively restrictive since atexit() handling is generically useful for enclaves that are not using EDMM. Our runtime allows EDMM to be disabled and we have enclaves that gate on that for security purposes. On a quasi-related note, it appears that the 1.4 compatibility metadata created by post 2.0 signing tools is leaking layout descriptors that a version 1.4 runtime doesn't understand. Do you want to exchange e-mail on this or should we direct conversations about these issues with others on your SDK team. Have a good remainder of the week. Dr. Greg As always, Dr. Greg Wettstein, Ph.D, Worker SGX secured infrastructure and Enjellic Systems Development, LLC autonomously self-defensive 4206 N. 19th Ave. platforms. Fargo, ND 58102 PH: 701-281-1686 EMAIL: greg@enjellic.com ------------------------------------------------------------------------------ "All parts should go together without forcing. You must remember that the parts you are reassembling were disassembled by you. Therefore, if you can't get them together again, there must be a reason. By all means, do not use a hammer." -- IBM maintenance manual, 1925
next prev parent reply index Thread overview: 109+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-03-03 23:35 [PATCH v28 00/22] Intel SGX foundations Jarkko Sakkinen 2020-03-03 23:35 ` [PATCH v28 01/22] x86/sgx: Update MAINTAINERS Jarkko Sakkinen 2020-03-03 23:35 ` [PATCH v28 02/22] x86/cpufeatures: x86/msr: Add Intel SGX hardware bits Jarkko Sakkinen 2020-03-03 23:35 ` [PATCH v28 03/22] x86/cpufeatures: x86/msr: Intel SGX Launch Control " Jarkko Sakkinen 2020-03-03 23:35 ` [PATCH v28 04/22] x86/mm: x86/sgx: Signal SIGSEGV with PF_SGX Jarkko Sakkinen 2020-03-03 23:35 ` [PATCH v28 05/22] x86/sgx: Add SGX microarchitectural data structures Jarkko Sakkinen 2020-03-03 23:35 ` [PATCH v28 06/22] x86/sgx: Add wrappers for ENCLS leaf functions Jarkko Sakkinen 2020-03-09 21:14 ` Sean Christopherson 2020-03-03 23:35 ` [PATCH v28 07/22] x86/cpu/intel: Detect SGX supprt Jarkko Sakkinen 2020-03-09 21:56 ` Sean Christopherson 2020-03-11 17:03 ` Jarkko Sakkinen 2020-03-03 23:35 ` [PATCH v28 08/22] x86/sgx: Enumerate and track EPC sections Jarkko Sakkinen 2020-03-03 23:35 ` [PATCH v28 09/22] x86/sgx: Add functions to allocate and free EPC pages Jarkko Sakkinen 2020-03-03 23:35 ` [PATCH v28 10/22] mm: Introduce vm_ops->may_mprotect() Jarkko Sakkinen 2020-03-03 23:35 ` [PATCH v28 11/22] x86/sgx: Linux Enclave Driver Jarkko Sakkinen 2020-03-05 17:40 ` Sean Christopherson 2020-03-05 18:24 ` Jethro Beekman 2020-03-05 19:04 ` Sean Christopherson 2020-03-06 19:00 ` Jarkko Sakkinen 2020-03-19 18:22 ` Dr. Greg 2020-03-06 18:58 ` Jarkko Sakkinen 2020-03-03 23:35 ` [PATCH v28 12/22] docs: x86/sgx: Document SGX micro architecture and kernel internals Jarkko Sakkinen 2020-03-03 23:36 ` [PATCH v28 13/22] selftests/x86: Recurse into subdirectories Jarkko Sakkinen 2020-03-03 23:36 ` [PATCH v28 14/22] selftests/x86: Add a selftest for SGX Jarkko Sakkinen 2020-03-04 19:27 ` Nathaniel McCallum 2020-03-05 11:33 ` Jarkko Sakkinen 2020-03-06 15:42 ` Dr. Greg 2020-03-06 19:07 ` Jarkko Sakkinen 2020-03-07 17:42 ` Dr. Greg 2020-03-10 13:08 ` Jarkko Sakkinen 2020-03-11 13:28 ` Jarkko Sakkinen [not found] ` <20200311164047.GG21852@linux.intel.com> 2020-03-13 19:24 ` Jarkko Sakkinen 2020-03-04 19:44 ` Nathaniel McCallum 2020-03-04 19:51 ` Nathaniel McCallum 2020-03-06 5:32 ` Dr. Greg 2020-03-06 19:04 ` Jarkko Sakkinen 2020-03-10 19:29 ` Haitao Huang 2020-03-11 9:13 ` Dr. Greg 2020-03-11 17:15 ` Haitao Huang 2020-03-17 1:07 ` Dr. Greg [this message] 2020-03-03 23:36 ` [PATCH v28 15/22] x86/sgx: Add provisioning Jarkko Sakkinen 2020-03-03 23:36 ` [PATCH v28 16/22] x86/sgx: Add a page reclaimer Jarkko Sakkinen 2020-03-05 19:03 ` Sean Christopherson 2020-03-06 18:47 ` Jarkko Sakkinen 2020-03-12 18:38 ` Sean Christopherson 2020-03-15 0:27 ` Jarkko Sakkinen 2020-03-15 1:17 ` Jarkko Sakkinen 2020-03-09 21:16 ` Sean Christopherson 2020-03-03 23:36 ` [PATCH v28 17/22] x86/sgx: ptrace() support for the SGX driver Jarkko Sakkinen 2020-03-03 23:36 ` [PATCH v28 18/22] x86/vdso: Add support for exception fixup in vDSO functions Jarkko Sakkinen 2020-03-03 23:36 ` [PATCH v28 19/22] x86/fault: Add helper function to sanitize error code Jarkko Sakkinen 2020-03-03 23:36 ` [PATCH v28 20/22] x86/traps: Attempt to fixup exceptions in vDSO before signaling Jarkko Sakkinen 2020-03-03 23:36 ` [PATCH v28 21/22] x86/vdso: Implement a vDSO for Intel SGX enclave call Jarkko Sakkinen 2020-03-11 17:30 ` Nathaniel McCallum 2020-03-11 17:38 ` Jethro Beekman 2020-03-11 19:15 ` Nathaniel McCallum 2020-03-13 15:48 ` Nathaniel McCallum 2020-03-13 16:46 ` Sean Christopherson 2020-03-13 18:32 ` Nathaniel McCallum 2020-03-13 18:44 ` Sean Christopherson 2020-03-13 20:14 ` Nathaniel McCallum 2020-03-13 22:08 ` Sean Christopherson 2020-03-14 14:10 ` Nathaniel McCallum 2020-03-18 23:40 ` Sean Christopherson 2020-03-19 0:38 ` Xing, Cedric 2020-03-19 1:03 ` Sean Christopherson 2020-03-20 13:55 ` Nathaniel McCallum 2020-03-15 1:25 ` Jarkko Sakkinen 2020-03-15 17:53 ` Nathaniel McCallum 2020-03-16 13:31 ` Jethro Beekman 2020-03-16 13:57 ` Nathaniel McCallum 2020-03-16 13:59 ` Jethro Beekman 2020-03-16 14:03 ` Nathaniel McCallum 2020-03-16 17:17 ` Sean Christopherson 2020-03-16 21:27 ` Jarkko Sakkinen 2020-03-16 21:29 ` Jarkko Sakkinen 2020-03-16 22:55 ` Sean Christopherson 2020-03-16 23:56 ` Xing, Cedric 2020-03-18 22:01 ` Jarkko Sakkinen 2020-03-18 22:18 ` Jarkko Sakkinen 2020-03-16 13:56 ` Jarkko Sakkinen 2020-03-16 14:01 ` Nathaniel McCallum 2020-03-16 21:38 ` Jarkko Sakkinen 2020-03-16 22:53 ` Sean Christopherson 2020-03-16 23:50 ` Xing, Cedric 2020-03-16 23:59 ` Sean Christopherson 2020-03-17 0:18 ` Xing, Cedric 2020-03-17 0:27 ` Sean Christopherson 2020-03-17 16:37 ` Nathaniel McCallum 2020-03-17 16:50 ` Nathaniel McCallum 2020-03-17 21:40 ` Xing, Cedric 2020-03-17 22:09 ` Sean Christopherson 2020-03-17 22:36 ` Xing, Cedric 2020-03-17 23:57 ` Sean Christopherson 2020-03-17 22:23 ` Xing, Cedric 2020-03-18 13:01 ` Nathaniel McCallum 2020-03-20 15:53 ` Nathaniel McCallum 2020-03-17 16:28 ` Nathaniel McCallum 2020-03-18 22:58 ` Jarkko Sakkinen 2020-03-18 22:39 ` Jarkko Sakkinen 2020-03-11 19:30 ` Nathaniel McCallum 2020-03-13 0:52 ` Sean Christopherson 2020-03-13 16:07 ` Nathaniel McCallum 2020-03-13 16:33 ` Sean Christopherson 2020-03-03 23:36 ` [PATCH v28 22/22] selftests/x86: Add vDSO selftest for SGX Jarkko Sakkinen 2020-03-04 19:24 ` [PATCH v28 00/22] Intel SGX foundations Nathaniel McCallum 2020-03-17 16:00 ` Jordan Hand 2020-03-18 21:56 ` Jarkko Sakkinen 2020-03-19 17:16 ` Dr. Greg
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200317010718.GA2546@wind.enjellic.com \ --to=greg@enjellic.com \ --cc=akpm@linux-foundation.org \ --cc=andriy.shevchenko@linux.intel.com \ --cc=bp@alien8.de \ --cc=cedric.xing@intel.com \ --cc=dave.hansen@intel.com \ --cc=haitao.huang@intel.com \ --cc=haitao.huang@linux.intel.com \ --cc=jarkko.sakkinen@linux.intel.com \ --cc=josh@joshtriplett.org \ --cc=kai.huang@intel.com \ --cc=kai.svahn@intel.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-kselftest@vger.kernel.org \ --cc=linux-sgx@vger.kernel.org \ --cc=luto@kernel.org \ --cc=nhorman@redhat.com \ --cc=npmccallum@redhat.com \ --cc=puiterwijk@redhat.com \ --cc=rientjes@google.com \ --cc=sean.j.christopherson@intel.com \ --cc=tglx@linutronix.de \ --cc=x86@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Linux-Sgx Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-sgx/0 linux-sgx/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-sgx linux-sgx/ https://lore.kernel.org/linux-sgx \ linux-sgx@vger.kernel.org public-inbox-index linux-sgx Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-sgx AGPL code for this site: git clone https://public-inbox.org/public-inbox.git