Messages in this thread | | | From | Mark Rutland <> | Subject | [PATCH 0/4] random/arm64: enable RANDOM_TRUST_CPU for arm64 | Date | Mon, 10 Feb 2020 13:00:11 +0000 |
| |
On arm64 systems some CPUs may have RNG instructions while others do not, and consequently we cannot generally enable the use of RNG instructions until all CPUs have been booted (as otherwise we'd have problems with preemption, etc). This prevents us from seeding the primary CRNG using the RNG, as this occurs before secondary CPUs are onlined.
These patches rework the core CRNG intialization code so that the arch code can (optionally) distinguish boot-time usage from runtime usage of the arch_get_random_*() functions. This allows arm64 to use the boot CPU's RNG to seed the primary CRNG, regardless of whether secondary CPUs support the RNG instructions. Other architectures should see no functional change as a result of this patches.
Thanks, Mark.
Mark Rutland (3): random: split primary/secondary crng init paths random: add arch_get_random_*long_early() arm64: add credited/trusted RNG support
Richard Henderson (1): random: Make RANDOM_TRUST_CPU depend on ARCH_RANDOM
arch/arm64/include/asm/archrandom.h | 14 ++++++++++ drivers/char/Kconfig | 2 +- drivers/char/random.c | 52 ++++++++++++++++++++++++++++--------- include/linux/random.h | 22 ++++++++++++++++ 4 files changed, 77 insertions(+), 13 deletions(-)
-- 2.11.0
| |