On Tue, 2022-01-18 at 15:05 -0800, Reinette Chatre wrote: > The machine check recovery handling in SGX added the changes > listed below to the freeing of pages in sgx_free_epc_page(). > The SGX reclaimer contains an open coded version of > sgx_free_epc_page() and thus did not obtain the changes in > support of poison handling. > > The changes made to EPC page freeing in support of poison handling > are: > 1) A new SGX_EPC_PAGE_IS_FREE flag is set when the EPC page is > freed. Introduced in commit d6d261bded8a ("x86/sgx: Add new > sgx_epc_page flag bit to mark free pages"). > 2) A new "poison" field in struct sgx_epc_page is used to > determine whether a newly freed EPC page should be placed > on the list of poisoned or list of free pages. Introduced > in commit 992801ae9243 ("x86/sgx: Initial poison handling > for dirty and free pages"). > 3) The owner field in struct sgx_epc_page is cleared when the EPC > page is freed. Introduced in commit 992801ae9243 ("x86/sgx: > Initial poison handling for dirty and free pages"). > > Replace the open coded enclave page freeing code in the reclaimer > with sgx_free_epc_page() to obtain support for poison page handling. > > Fixes: d6d261bded8a ("x86/sgx: Add new sgx_epc_page flag bit to mark > free pages") AFAIK, this patch does not semantically break anything so it is not a legit fixes tag. BR, Jarkko