linux/arch/x86/kernel/cpu
Jarkko Sakkinen c6d26d3707 x86/sgx: Add SGX_IOC_ENCLAVE_ADD_PAGES
SGX enclave pages are inaccessible to normal software. They must be
populated with data by copying from normal memory with the help of the
EADD and EEXTEND functions of the ENCLS instruction.

Add an ioctl() which performs EADD that adds new data to an enclave, and
optionally EEXTEND functions that hash the page contents and use the
hash as part of enclave “measurement” to ensure enclave integrity.

The enclave author gets to decide which pages will be included in the
enclave measurement with EEXTEND. Measurement is very slow and has
sometimes has very little value. For instance, an enclave _could_
measure every page of data and code, but would be slow to initialize.
Or, it might just measure its code and then trust that code to
initialize the bulk of its data after it starts running.

Co-developed-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Borislav Petkov <bp@suse.de>
Tested-by: Jethro Beekman <jethro@fortanix.com>
Link: https://lkml.kernel.org/r/20201112220135.165028-14-jarkko@kernel.org
2020-11-18 18:02:49 +01:00
..
mce task_work: cleanup notification modes 2020-10-17 15:05:30 -06:00
microcode x86/microcode: Do not select FW_LOADER 2020-06-15 11:59:19 +02:00
mtrr treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
resctrl task_work: cleanup notification modes 2020-10-17 15:05:30 -06:00
sgx x86/sgx: Add SGX_IOC_ENCLAVE_ADD_PAGES 2020-11-18 18:02:49 +01:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
acrn.c x86/acrn: Remove redundant chars from ACRN signature 2020-08-07 01:32:00 +02:00
amd.c x86/cpufeatures: Add SEV-ES CPU feature 2020-09-07 19:45:24 +02:00
aperfmperf.c
bugs.c x86/speculation: Allow IBPB to be conditionally enabled on CPUs with always-on STIBP 2020-11-05 21:43:34 +01:00
cacheinfo.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
centaur.c x86/cpu/centaur: Add Centaur family >=7 CPUs initialization support 2020-09-11 10:53:19 +02:00
common.c This feature enhances the current guest memory encryption support 2020-10-14 10:21:34 -07:00
cpu.h treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
cpuid-deps.c * Misc cleanups to the resctrl code in preparation for the ARM side, by 2020-10-12 10:53:32 -07:00
cyrix.c
feat_ctl.c x86/cpu/intel: Add a nosgx kernel parameter 2020-11-17 14:36:13 +01:00
hygon.c locking/seqlock, headers: Untangle the spaghetti monster 2020-08-06 16:13:13 +02:00
hypervisor.c
intel.c A set of locking fixes and updates: 2020-08-10 19:07:44 -07:00
intel_epb.c
intel_pconfig.c
Makefile x86/sgx: Initialize metadata for Enclave Page Cache (EPC) sections 2020-11-17 14:36:13 +01:00
match.c x86/cpu: Add a steppings field to struct x86_cpu_id 2020-04-20 12:19:21 +02:00
mkcapflags.sh
mshyperv.c Drivers: hv: vmbus: Add parsing of VMbus interrupt in ACPI DSDT 2020-10-14 19:14:51 +00:00
perfctr-watchdog.c x86/perf: Add hardware performance events support for Zhaoxin CPU. 2020-04-30 20:14:35 +02:00
powerflags.c
proc.c
rdrand.c
scattered.c This feature enhances the current guest memory encryption support 2020-10-14 10:21:34 -07:00
topology.c
transmeta.c
tsx.c Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2020-01-28 12:46:42 -08:00
umc.c
umwait.c KVM: VMX: Stop context switching MSR_IA32_UMWAIT_CONTROL 2020-06-22 20:54:57 -04:00
vmware.c x86/vmware: Add VMware-specific handling for VMMCALL under SEV-ES 2020-09-09 11:33:20 +02:00
zhaoxin.c x86/cpu: Reinitialize IA32_FEAT_CTL MSR on BSP during wakeup 2020-06-15 14:18:37 +02:00