• Ard Biesheuvel's avatar
    arm64: permit ACPI core to map kernel memory used for table overrides · a509a66a
    Ard Biesheuvel authored
    Jonathan reports that the strict policy for memory mapped by the
    ACPI core breaks the use case of passing ACPI table overrides via
    initramfs. This is due to the fact that the memory type used for
    loading the initramfs in memory is not recognized as a memory type
    that is typically used by firmware to pass firmware tables.
    
    Since the purpose of the strict policy is to ensure that no AML or
    other ACPI code can manipulate any memory that is used by the kernel
    to keep its internal state or the state of user tasks, we can relax
    the permission check, and allow mappings of memory that is reserved
    and marked as NOMAP via memblock, and therefore not covered by the
    linear mapping to begin with.
    
    Fixes: 1583052d ("arm64/acpi: disallow AML memory opregions to access kernel memory")
    Fixes: 325f5585
    
     ("arm64/acpi: disallow writeable AML opregion mapping for EFI code regions")
    Reported-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    Signed-of...
    a509a66a
acpi.c 10.8 KB