Re: [PATCH] x86/sgx: Add poison handling to reclaimer
From: Jarkko Sakkinen
Date: Thu Jan 20 2022 - 07:58:16 EST
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