linux/arch/x86
Reinette Chatre e3a3bbe3e9 x86/sgx: Ensure no data in PCMD page after truncate
A PCMD (Paging Crypto MetaData) page contains the PCMD
structures of enclave pages that have been encrypted and
moved to the shmem backing store. When all enclave pages
sharing a PCMD page are loaded in the enclave, there is no
need for the PCMD page and it can be truncated from the
backing store.

A few issues appeared around the truncation of PCMD pages. The
known issues have been addressed but the PCMD handling code could
be made more robust by loudly complaining if any new issue appears
in this area.

Add a check that will complain with a warning if the PCMD page is not
actually empty after it has been truncated. There should never be data
in the PCMD page at this point since it is was just checked to be empty
and truncated with enclave mutex held and is updated with the
enclave mutex held.

Suggested-by: Dave Hansen <dave.hansen@linux.intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Tested-by: Haitao Huang <haitao.huang@intel.com>
Link: https://lkml.kernel.org/r/6495120fed43fafc1496d09dd23df922b9a32709.1652389823.git.reinette.chatre@intel.com
2022-05-16 15:17:57 -07:00
..
boot memcpy updates for v5.18-rc1 2022-03-26 12:19:04 -07:00
coco x86/coco: Add API to handle encryption mask 2022-02-23 19:14:29 +01:00
configs x86/config: Make the x86 defconfigs a bit more usable 2022-03-27 20:58:35 +02:00
crypto This push fixes the following issues: 2022-03-31 11:17:39 -07:00
entry x86,objtool: Explicitly mark idtentry_body()s tail REACHABLE 2022-04-19 21:58:48 +02:00
events perf/x86/cstate: Add SAPPHIRERAPIDS_X CPU support 2022-04-19 21:15:42 +02:00
hyperv hyperv-next for 5.17 2022-01-16 15:53:00 +02:00
ia32
include ARM: 2022-05-01 11:49:32 -07:00
kernel x86/sgx: Ensure no data in PCMD page after truncate 2022-05-16 15:17:57 -07:00
kvm KVM: VMX: Exit to userspace if vCPU has injected exception and invalid state 2022-05-06 13:08:06 -04:00
lib - A fix to disable PCI/MSI[-X] masking for XEN_HVM guests as that is 2022-05-01 10:03:36 -07:00
math-emu x86: Prepare asm files for straight-line-speculation 2021-12-08 12:25:37 +01:00
mm x86/mm: Fix marking of unused sub-pmd ranges 2022-05-13 12:41:21 +02:00
net x86,bpf: Avoid IBT objtool warning 2022-04-07 11:27:02 +02:00
pci x86/pci/xen: Disable PCI/MSI[-X] masking for XEN_HVM guests 2022-04-29 14:37:39 +02:00
platform x86,xen,objtool: Add UNWIND hint 2022-04-19 21:58:47 +02:00
power x86/cpu: Load microcode during restore_processor_state() 2022-04-19 19:37:05 +02:00
purgatory x86/purgatory: Remove -nostdlib compiler flag 2021-12-30 14:13:06 +01:00
ras
realmode - Flush *all* mappings from the TLB after switching to the trampoline 2022-01-10 09:51:38 -08:00
tools x86/build: Use the proper name CONFIG_FW_LOADER 2021-12-29 22:20:38 +01:00
um Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2022-04-01 19:57:03 -07:00
video
xen x86/xen: Add ANNOTATE_NOENDBR to startup_xen() 2022-04-19 21:58:49 +02:00
.gitignore
Kbuild x86/cc: Move arch/x86/{kernel/cc_platform.c => coco/core.c} 2022-02-23 18:25:58 +01:00
Kconfig x86/Kconfig: fix the spelling of 'becoming' in X86_KERNEL_IBT config 2022-04-19 21:58:50 +02:00
Kconfig.assembler
Kconfig.cpu x86/mmx_32: Remove X86_USE_3DNOW 2021-12-11 09:09:45 +01:00
Kconfig.debug
Makefile x86: Remove toolchain check for X32 ABI capability 2022-03-15 10:32:48 +01:00
Makefile_32.cpu
Makefile.um