summaryrefslogtreecommitdiff
path: root/arch/x86/kernel/cpu/sgx/sgx.h
diff options
context:
space:
mode:
authorJarkko Sakkinen <jarkko@kernel.org>2021-03-18 02:53:30 +0300
committerBorislav Petkov <bp@suse.de>2021-03-18 18:17:26 +0300
commit51ab30eb2ad4c4a61f827dc18863cd70dc46dc32 (patch)
treeb661b7a63dd656630ef9c807c525794e570e9977 /arch/x86/kernel/cpu/sgx/sgx.h
parent1e28eed17697bcf343c6743f0028cc3b5dd88bf0 (diff)
downloadlinux-51ab30eb2ad4c4a61f827dc18863cd70dc46dc32.tar.xz
x86/sgx: Replace section->init_laundry_list with sgx_dirty_page_list
During normal runtime, the "ksgxd" daemon behaves like a version of kswapd just for SGX. But, before it starts acting like kswapd, its first job is to initialize enclave memory. Currently, the SGX boot code places each enclave page on a epc_section->init_laundry_list. Once it starts up, the ksgxd code walks over that list and populates the actual SGX page allocator. However, the per-section structures are going away to make way for the SGX NUMA allocator. There's also little need to have a per-section structure; the enclave pages are all treated identically, and they can be placed on the correct allocator list from metadata stored in the enclave page (struct sgx_epc_page) itself. Modify sgx_sanitize_section() to take a single page list instead of taking a section and deriving the list from there. Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org> Signed-off-by: Borislav Petkov <bp@suse.de> Acked-by: Dave Hansen <dave.hansen@linux.intel.com> Link: https://lkml.kernel.org/r/20210317235332.362001-1-jarkko.sakkinen@intel.com
Diffstat (limited to 'arch/x86/kernel/cpu/sgx/sgx.h')
-rw-r--r--arch/x86/kernel/cpu/sgx/sgx.h7
1 files changed, 0 insertions, 7 deletions
diff --git a/arch/x86/kernel/cpu/sgx/sgx.h b/arch/x86/kernel/cpu/sgx/sgx.h
index 5fa42d143feb..bc8af0428640 100644
--- a/arch/x86/kernel/cpu/sgx/sgx.h
+++ b/arch/x86/kernel/cpu/sgx/sgx.h
@@ -45,13 +45,6 @@ struct sgx_epc_section {
spinlock_t lock;
struct list_head page_list;
unsigned long free_cnt;
-
- /*
- * Pages which need EREMOVE run on them before they can be
- * used. Only safe to be accessed in ksgxd and init code.
- * Not protected by locks.
- */
- struct list_head init_laundry_list;
};
extern struct sgx_epc_section sgx_epc_sections[SGX_MAX_EPC_SECTIONS];