On Fri, Apr 01, 2022 at 10:24:04PM +0800, Cathy Zhang wrote: > For SGX CPUSVN update process will check all EPC pages in each > section to ensure they will be marked as unused, it requires to > know the size of each EPC section to end the loop. Why is the size required to end the loop? It's missing. > Signed-off-by: Cathy Zhang <cathy.zhang@xxxxxxxxx> > --- > arch/x86/kernel/cpu/sgx/sgx.h | 1 + > arch/x86/kernel/cpu/sgx/main.c | 1 + > 2 files changed, 2 insertions(+) > > diff --git a/arch/x86/kernel/cpu/sgx/sgx.h b/arch/x86/kernel/cpu/sgx/sgx.h > index 0b036f19cca1..45ba6fcabfda 100644 > --- a/arch/x86/kernel/cpu/sgx/sgx.h > +++ b/arch/x86/kernel/cpu/sgx/sgx.h > @@ -63,6 +63,7 @@ struct sgx_epc_section { > void *virt_addr; > struct sgx_epc_page *pages; > struct sgx_numa_node *node; > + u64 size; > }; > > extern struct sgx_epc_section sgx_epc_sections[SGX_MAX_EPC_SECTIONS]; > diff --git a/arch/x86/kernel/cpu/sgx/main.c b/arch/x86/kernel/cpu/sgx/main.c > index 10360f06c0df..031c1402cd7e 100644 > --- a/arch/x86/kernel/cpu/sgx/main.c > +++ b/arch/x86/kernel/cpu/sgx/main.c > @@ -665,6 +665,7 @@ static bool __init sgx_setup_epc_section(u64 phys_addr, u64 size, > } > > section->phys_addr = phys_addr; > + section->size = size; > xa_store_range(&sgx_epc_address_space, section->phys_addr, > phys_addr + size - 1, section, GFP_KERNEL); > > -- > 2.17.1 > BR, Jarkko