Re: [PATCH v3 02/60] arm64: mm: Take potential load offset into account when KASLR is off

Mark Rutland
2023-04-28T10:41:24Z

On Tue, Mar 07, 2023 at 03:04:24PM +0100, Ard Biesheuvel wrote:
> We enable CONFIG_RELOCATABLE even when CONFIG_RANDOMIZE_BASE is
> disabled, and this permits the loader (i.e., EFI) to place the kernel
> anywhere in physical memory as long as the base address is 64k aligned.
>
> This means that the 'KASLR' case described in the header that defines
> the size of the statically allocated page tables could take effect even
> when CONFIG_RANDMIZE_BASE=n. So check for CONFIG_RELOCATABLE instead.

Could we pleqase update the comment to describe that? As of this commit it'll
be left describing a KASLR-specific case, and it'd be good to have it mention
the case described in this commit message.

Thanks,
Mark.

>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> ---
> arch/arm64/include/asm/kernel-pgtable.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/include/asm/kernel-pgtable.h b/arch/arm64/include/asm/kernel-pgtable.h
> index fcd14197756f0619..4d13c73171e1e360 100644
> --- a/arch/arm64/include/asm/kernel-pgtable.h
> +++ b/arch/arm64/include/asm/kernel-pgtable.h
> @@ -53,7 +53,7 @@
> * address is just pushed over a boundary and the start address isn't).
> */
>
> -#ifdef CONFIG_RANDOMIZE_BASE
> +#ifdef CONFIG_RELOCATABLE
> #define EARLY_KASLR (1)
> #else
> #define EARLY_KASLR (0)
> --
> 2.39.2
>
>