Re: [PATCH v11 7/7] x86/sgx: Add check for SGX pages to ghes_do_memory_failure()

From: Rafael J. Wysocki
Date: Fri Oct 29 2021 - 14:40:00 EST


On Wed, Oct 27, 2021 at 12:01 AM Tony Luck <tony.luck@xxxxxxxxx> wrote:
>
> SGX EPC pages do not have a "struct page" associated with them so the
> pfn_valid() sanity check fails and results in a warning message to
> the console.
>
> Add an additional check to skip the warning if the address of the error
> is in an SGX EPC page.
>
> Reviewed-by: Jarkko Sakkinen <jarkko@xxxxxxxxxx>
> Tested-by: Reinette Chatre <reinette.chatre@xxxxxxxxx>
> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>

Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>

> ---
> drivers/acpi/apei/ghes.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
> index 0c8330ed1ffd..0c5c9acc6254 100644
> --- a/drivers/acpi/apei/ghes.c
> +++ b/drivers/acpi/apei/ghes.c
> @@ -449,7 +449,7 @@ static bool ghes_do_memory_failure(u64 physical_addr, int flags)
> return false;
>
> pfn = PHYS_PFN(physical_addr);
> - if (!pfn_valid(pfn)) {
> + if (!pfn_valid(pfn) && !arch_is_platform_page(physical_addr)) {
> pr_warn_ratelimited(FW_WARN GHES_PFX
> "Invalid address in generic error data: %#llx\n",
> physical_addr);
> --
> 2.31.1
>