• Ard Biesheuvel's avatar
    arm64: efi: Set NX compat flag in PE/COFF header · 3c66bb19
    Ard Biesheuvel authored
    The PE/COFF header has a NX compat flag which informs the firmware that
    the application does not rely on memory regions being mapped with both
    executable and writable permissions at the same time.
    
    This is typically used by the firmware to decide whether it can set the
    NX attribute on all allocations it returns, but going forward, it may be
    used to enforce a policy that only permits applications with the NX flag
    set to be loaded to begin wiht in some configurations, e.g., when Secure
    Boot is in effect.
    
    Even though the arm64 version of the EFI stub may relocate the kernel
    before executing it, it always did so after disabling the MMU, and so we
    were always in line with what the NX compat flag conveys, we just never
    bothered to set it.
    
    So let's set the flag now.
    
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
    3c66bb19
efi-header.S 5 KB