• Ard Biesheuvel's avatar
    arm/efi: Split zImage code and data into separate PE/COFF sections · e4bae4d0
    Ard Biesheuvel authored
    To prevent unintended modifications to the kernel text (malicious or
    otherwise) while running the EFI stub, describe the kernel image as
    two separate sections: a .text section with read-execute permissions,
    covering .text, .rodata, .piggytext and the GOT sections (which the
    stub does not care about anyway), and a .data section with read-write
    permissions, covering .data and .bss.
    
    This relies on the firmware to actually take the section permission
    flags into account, but this is something that is currently being
    implemented in EDK2, which means we will likely start seeing it in
    the wild between one and two years from now.
    Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Matt Fleming <matt@codeblueprint.co.uk>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Russell King <linux@armlinux.org.uk>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: linux-efi@vger.kernel.org
    Link: http://lkml.kernel.org/r/20170818194947.19347-12-ard.biesheuvel@linaro.orgSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    e4bae4d0
efi-header.S 4.09 KB