From c704acd5e08562a1bf0f417e2f0da2a83b399ed5 Mon Sep 17 00:00:00 2001 From: Laura Abbott Date: Wed, 13 Aug 2014 14:52:53 -0700 Subject: [PATCH] arm: Add weak function definition for random pool intialization The random pool relies on devices and other items in the system to add entropy to the pool. Most of these devices may not be added until later in the bootup process. This leaves a large period of time where the random pool may not actually give random numbers. Add a weak function for devices to override with their own function to setup the random pool. Change-Id: I0de63420b11f1dd363ccd0ef6ac0fa4a617a1152 Signed-off-by: Laura Abbott [satyap: trivial merge conflict resolution] Signed-off-by: Satya Durga Srinivasu Prabhala --- arch/arm/kernel/setup.c | 4 ++++ arch/arm64/kernel/setup.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c index 6603fe697246..a0ebc3d8afbc 100644 --- a/arch/arm/kernel/setup.c +++ b/arch/arm/kernel/setup.c @@ -935,6 +935,8 @@ void __init hyp_mode_check(void) #endif } +void __init __weak init_random_pool(void) { } + void __init setup_arch(char **cmdline_p) { const struct machine_desc *mdesc; @@ -1014,6 +1016,8 @@ void __init setup_arch(char **cmdline_p) if (mdesc->init_early) mdesc->init_early(); + + init_random_pool(); } diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c index f307c089cb93..14c26752838f 100644 --- a/arch/arm64/kernel/setup.c +++ b/arch/arm64/kernel/setup.c @@ -295,6 +295,8 @@ static inline void __init relocate_initrd(void) u64 __cpu_logical_map[NR_CPUS] = { [0 ... NR_CPUS-1] = INVALID_HWID }; +void __init __weak init_random_pool(void) { } + void __init setup_arch(char **cmdline_p) { pr_info("Boot CPU: AArch64 Processor [%08x]\n", read_cpuid_id()); @@ -354,6 +356,7 @@ void __init setup_arch(char **cmdline_p) conswitchp = &dummy_con; #endif #endif + init_random_pool(); if (boot_args[1] || boot_args[2] || boot_args[3]) { pr_err("WARNING: x1-x3 nonzero in violation of boot protocol:\n" "\tx1: %016llx\n\tx2: %016llx\n\tx3: %016llx\n"