• Mark Rutland's avatar
    arm64: mm: fold alternatives into .init · 9aa4ec15
    Mark Rutland authored
    Currently we treat the alternatives separately from other data that's
    only used during initialisation, using separate .altinstructions and
    .altinstr_replacement linker sections. These are freed for general
    allocation separately from .init*. This is problematic as:
    
    * We do not remove execute permissions, as we do for .init, leaving the
      memory executable.
    
    * We pad between them, making the kernel Image bianry up to PAGE_SIZE
      bytes larger than necessary.
    
    This patch moves the two sections into the contiguous region used for
    .init*. This saves some memory, ensures that we remove execute
    permissions, and allows us to remove some code made redundant by this
    reorganisation.
    Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
    Cc: Andre Przywara <andre.przywara@arm.com>
    Cc: Catalin Marinas <catalin.marinas@arm.com>
    Cc: Jeremy Linton <jeremy.linton@arm.com>
    Cc: Laura Abbott <labbott@fedoraproject.org>
    Cc: Will Deacon <will.deacon@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    9aa4ec15
alternative.c 3.84 KB