On Sat, Feb 01, 2020 at 09:35:59PM +0200, Jarkko Sakkinen wrote: > On Sat, Feb 01, 2020 at 09:49:37AM -0800, Sean Christopherson wrote: > > Two patches to fix the Feature Control MSR bit definitions, which didn't > > get correctly rebased. > > > > Patch 03 reworks SGX handling of Feature Control to use the new feat_ctl.c > > code, which was the entire point of that series. Patch 03 is a drop-in > > replacement for 4249f9b240b7 ("x86/cpu/intel: Detect SGX supprt"). > > > > *** DISCLAIMER *** > > These patches are untested against your master, as your master doesn't boot > > on my system. The fully tested version is available at > > https://github.com/sean-jc/linux.git, branch sgx/for_jarkko_v25_rebased. > > I'll dig into the boot issue next week. > > Possibly it was related that I was temporarily on top of x86/tip? It > is now again on top of Linus' tree. I created v25-rc2 tag that has > these updates: > > tag v25-rc2 > Tagger: Jarkko Sakkinen <jarkko.sakkinen@xxxxxxxxxxxxxxx> > Date: Sat Feb 1 21:27:24 2020 +0200 > > x86/sgx: v25-rc2 > > * Fix a double-free issue when SGX_IOC_ENCLAVE_ADD_PAGES > fails on executing ENCLS[EADD]. The rollback path executed > radix_tree_delete() on the same address twice when this happened. > * Return -EINTR instead of -ERESTARTSYS in SGX_IOC_ENCLAVE_ADD_PAGES when > a signal is pending. > * As requested by Borislav, move the CPUID 0x12 features to their own word > in cpufeatures. > * Sean fixed a bug from sgx_reclaimer_write() where sgx_encl_put_backing() > was called with an uninitialized pointer when sgx_encl_get_backing() > fails. > * Migrated /dev/sgx/* to misc. This is future-proof as struct miscdevice > has 'groups' for setting up sysfs attributes for the device. > * Use device_initcall instead of subsys_initcall so that misc_class is > initialized before SGX is initialized. > * Return -EACCES in SGX_IOC_ENCLAVE_INIT when caller tries to select > enclave attributes that we the kernel does not allow it to set instead > of -EINVAL. > * Unless SGX public key MSRs are writable always deny the feature from > Linux. Previously this was only denied from driver. How VMs should be > supported is not really part of initial patch set, which makes this > an obvious choice. > * Rewrote the documentation. Lessened the fine-grained micro architecture > details as they can be looked up from Intel SDM in order to make the > core ideas more approachable. > -----BEGIN PGP SIGNATURE----- > > iJYEABYIAD4WIQRE6pSOnaBC00OEHEIaerohdGur0gUCXjXRMiAcamFya2tvLnNh > a2tpbmVuQGxpbnV4LmludGVsLmNvbQAKCRAaerohdGur0ihBAQC3VE2u6zyPYFLN > hCBFEF3LKqpNk26DjkO9M5tRZfUhSgEA/sF6AKHJRDqYUePW6N6Rtc3GOZY9DmbD > R+qOg0XcbAs= > =OtqV > -----END PGP SIGNATURE----- > > If you fix any regression, use solely this tag as the baseline for > fixes. I worry about possible merge conflicts with the master. > > /Jarkko As far as I'm concerned master has now everything for v25, so I removed the tag. Just test against master. /Jarkko