Re: [PATCH] random: fix a compilation error on arm64

From: Guenter Roeck
Date: Thu Aug 06 2020 - 12:51:36 EST


On 8/6/20 6:58 AM, Qian Cai wrote:
> linux-next failed to compile using this .config,
> https://gitlab.com/cailca/linux-mm/-/blob/master/arm64.config
>
> arch/arm64/kernel/kaslr.c: In function 'kaslr_early_init':
> arch/arm64/kernel/kaslr.c:128:6: error: implicit declaration of function
> '__early_cpu_has_rndr'; did you mean '__early_pfn_to_nid'?
> [-Werror=implicit-function-declaration]
> if (__early_cpu_has_rndr()) {
> ^~~~~~~~~~~~~~~~~~~~
> __early_pfn_to_nid
> arch/arm64/kernel/kaslr.c:131:7: error: implicit declaration of function
> '__arm64_rndr' [-Werror=implicit-function-declaration]
> if (__arm64_rndr(&raw))
> ^~~~~~~~~~~~
> cc1: some warnings being treated as errors
>

This happens because ARCH_RANDOM is disabled. May be I am wrong, but I
would argue that __arm64_rndr() should not be called directly in the
first place. arch_get_random_seed_long_early() should be called instead.

Thanks,
Guenter

> Fixes: 585524081ecd ("random: random.h should include archrandom.h, not the other way around")
> Signed-off-by: Qian Cai <cai@xxxxxx>
> ---
> include/linux/random.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/include/linux/random.h b/include/linux/random.h
> index f45b8be3e3c4..da782c16c20c 100644
> --- a/include/linux/random.h
> +++ b/include/linux/random.h
> @@ -12,6 +12,8 @@
> #include <linux/list.h>
> #include <linux/once.h>
>
> +#include <asm/archrandom.h>
> +
> #include <uapi/linux/random.h>
>
> struct random_ready_callback {
>