Re: [REGRESSION] GHES firmware can't be readonly - Was: Re: [PATCH v3 3/3] arm64: acpi: Enable ACPI CCEL support
From: Will Deacon <will@kernel.org>
Date: 2025-11-24 13:14:30
Also in:
linux-coco, lkml, regressions
On Mon, Nov 24, 2025 at 05:21:00AM +0000, Suzuki K Poulose wrote:
On 21/11/2025 21:46, Mauro Carvalho Chehab wrote:quoted
Hi, Em Thu, 18 Sep 2025 13:56:18 +0100 Suzuki K Poulose [off-list ref] escreveu:quoted
Add support for ACPI CCEL by handling the EfiACPIMemoryNVS type memory. As per UEFI specifications NVS memory is reserved for Firmware use even after exiting boot services. Thus map the region as read-only. Cc: Sami Mujawar <redacted> Cc: Will Deacon <will@kernel.org> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Aneesh Kumar K.V <aneesh.kumar@kernel.org> Cc: Steven Price <steven.price@arm.com> Cc: Sudeep Holla <redacted> Cc: Gavin Shan <redacted> Reviewed-by: Gavin Shan <redacted> Tested-by: Sami Mujawar <redacted> Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com> --- arch/arm64/kernel/acpi.c | 10 ++++++++++ 1 file changed, 10 insertions(+)diff --git a/arch/arm64/kernel/acpi.c b/arch/arm64/kernel/acpi.c index 4d529ff7ba51..b3195b3b895f 100644 --- a/arch/arm64/kernel/acpi.c +++ b/arch/arm64/kernel/acpi.c@@ -357,6 +357,16 @@ void __iomem *acpi_os_ioremap(acpi_physical_address phys, acpi_size size) * as long as we take care not to create a writable * mapping for executable code. */ + fallthrough; + + case EFI_ACPI_MEMORY_NVS: + /* + * ACPI NVS marks an area reserved for use by the + * firmware, even after exiting the boot service. + * This may be used by the firmware for sharing dynamic + * tables/data (e.g., ACPI CCEL) with the OS. Map it + * as read-only. + */ prot = PAGE_KERNEL_RO;Please revert this change. Making area reserved to be used by firmware breaks some APEI notification mechanisms:Thanks for the report. Clearly, we missed this case. I am happy for this patch to be reverted and we can work out the handling of NVS later.
I'll revert the change shortly. Will