[PATCH] arm64/kernel: kaslr: drop special Image placement logic
Steve Capper
steve.capper at arm.com
Wed Jan 17 18:58:36 PST 2018
On Wed, Jan 17, 2018 at 04:11:27PM +0000, Ard Biesheuvel wrote:
> Now that the early kernel mapping logic can tolerate placements of
> Image that cross swapper table boundaries, we can remove the logic
> that adjusts the offset if the dice roll produced an offset that
> puts the kernel right on top of one.
Reviewed-by: Steve Capper <steve.capper at arm.com>
>
> Cc: Steve Capper <steve.capper at arm.com>
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel at linaro.org>
> ---
> arch/arm64/kernel/kaslr.c | 15 ---------------
> 1 file changed, 15 deletions(-)
>
> diff --git a/arch/arm64/kernel/kaslr.c b/arch/arm64/kernel/kaslr.c
> index 47080c49cc7e..e3d5cbe2167b 100644
> --- a/arch/arm64/kernel/kaslr.c
> +++ b/arch/arm64/kernel/kaslr.c
> @@ -128,21 +128,6 @@ u64 __init kaslr_early_init(u64 dt_phys)
> /* use the top 16 bits to randomize the linear region */
> memstart_offset_seed = seed >> 48;
>
> - /*
> - * The kernel Image should not extend across a 1GB/32MB/512MB alignment
> - * boundary (for 4KB/16KB/64KB granule kernels, respectively). If this
> - * happens, round down the KASLR offset by (1 << SWAPPER_TABLE_SHIFT).
> - *
> - * NOTE: The references to _text and _end below will already take the
> - * modulo offset (the physical displacement modulo 2 MB) into
> - * account, given that the physical placement is controlled by
> - * the loader, and will not change as a result of the virtual
> - * mapping we choose.
> - */
> - if ((((u64)_text + offset) >> SWAPPER_TABLE_SHIFT) !=
> - (((u64)_end + offset) >> SWAPPER_TABLE_SHIFT))
> - offset = round_down(offset, 1 << SWAPPER_TABLE_SHIFT);
> -
> if (IS_ENABLED(CONFIG_KASAN))
> /*
> * KASAN does not expect the module region to intersect the
> --
> 2.11.0
>
More information about the linux-arm-kernel
mailing list