2022-07-21 10:37:33

by Lukas Bulwahn

[permalink] [raw]
Subject: [PATCH] arm64: adjust KASLR relocation after ARCH_RANDOM removal

Commit aacd149b6238 ("arm64: head: avoid relocating the kernel twice for
KASLR") adds the new file arch/arm64/kernel/pi/kaslr_early.c with a small
code part guarded by '#ifdef CONFIG_ARCH_RANDOM'.

Concurrently, commit 9592eef7c16e ("random: remove CONFIG_ARCH_RANDOM")
removes the config CONFIG_ARCH_RANDOM and turns all '#ifdef
CONFIG_ARCH_RANDOM' code parts into unconditional code parts, which is
generally safe to do.

Remove a needless ifdef guard after the ARCH_RANDOM removal.

Signed-off-by: Lukas Bulwahn <[email protected]>
---
arch/arm64/kernel/pi/kaslr_early.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/arch/arm64/kernel/pi/kaslr_early.c b/arch/arm64/kernel/pi/kaslr_early.c
index 6c3855e69395..17bff6e399e4 100644
--- a/arch/arm64/kernel/pi/kaslr_early.c
+++ b/arch/arm64/kernel/pi/kaslr_early.c
@@ -94,11 +94,9 @@ asmlinkage u64 kaslr_early_init(void *fdt)

seed = get_kaslr_seed(fdt);
if (!seed) {
-#ifdef CONFIG_ARCH_RANDOM
- if (!__early_cpu_has_rndr() ||
- !__arm64_rndr((unsigned long *)&seed))
-#endif
- return 0;
+ if (!__early_cpu_has_rndr() ||
+ !__arm64_rndr((unsigned long *)&seed))
+ return 0;
}

/*
--
2.17.1


2022-07-22 16:01:28

by Ard Biesheuvel

[permalink] [raw]
Subject: Re: [PATCH] arm64: adjust KASLR relocation after ARCH_RANDOM removal

On Thu, 21 Jul 2022 at 12:04, Lukas Bulwahn <[email protected]> wrote:
>
> Commit aacd149b6238 ("arm64: head: avoid relocating the kernel twice for
> KASLR") adds the new file arch/arm64/kernel/pi/kaslr_early.c with a small
> code part guarded by '#ifdef CONFIG_ARCH_RANDOM'.
>
> Concurrently, commit 9592eef7c16e ("random: remove CONFIG_ARCH_RANDOM")
> removes the config CONFIG_ARCH_RANDOM and turns all '#ifdef
> CONFIG_ARCH_RANDOM' code parts into unconditional code parts, which is
> generally safe to do.
>
> Remove a needless ifdef guard after the ARCH_RANDOM removal.
>
> Signed-off-by: Lukas Bulwahn <[email protected]>

Acked-by: Ard Biesheuvel <[email protected]>

> ---
> arch/arm64/kernel/pi/kaslr_early.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/arch/arm64/kernel/pi/kaslr_early.c b/arch/arm64/kernel/pi/kaslr_early.c
> index 6c3855e69395..17bff6e399e4 100644
> --- a/arch/arm64/kernel/pi/kaslr_early.c
> +++ b/arch/arm64/kernel/pi/kaslr_early.c
> @@ -94,11 +94,9 @@ asmlinkage u64 kaslr_early_init(void *fdt)
>
> seed = get_kaslr_seed(fdt);
> if (!seed) {
> -#ifdef CONFIG_ARCH_RANDOM
> - if (!__early_cpu_has_rndr() ||
> - !__arm64_rndr((unsigned long *)&seed))
> -#endif
> - return 0;
> + if (!__early_cpu_has_rndr() ||
> + !__arm64_rndr((unsigned long *)&seed))
> + return 0;
> }
>
> /*
> --
> 2.17.1
>

2022-08-17 15:54:48

by Will Deacon

[permalink] [raw]
Subject: Re: [PATCH] arm64: adjust KASLR relocation after ARCH_RANDOM removal

On Thu, 21 Jul 2022 12:04:33 +0200, Lukas Bulwahn wrote:
> Commit aacd149b6238 ("arm64: head: avoid relocating the kernel twice for
> KASLR") adds the new file arch/arm64/kernel/pi/kaslr_early.c with a small
> code part guarded by '#ifdef CONFIG_ARCH_RANDOM'.
>
> Concurrently, commit 9592eef7c16e ("random: remove CONFIG_ARCH_RANDOM")
> removes the config CONFIG_ARCH_RANDOM and turns all '#ifdef
> CONFIG_ARCH_RANDOM' code parts into unconditional code parts, which is
> generally safe to do.
>
> [...]

Applied to arm64 (for-next/fixes), thanks!

[1/1] arm64: adjust KASLR relocation after ARCH_RANDOM removal
https://git.kernel.org/arm64/c/ff5900092227

Cheers,
--
Will

https://fixes.arm64.dev
https://next.arm64.dev
https://will.arm64.dev