diff options
author | Tom <tomut@yahoo.com> | 2021-07-16 14:57:44 -0600 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-07-17 00:04:57 +0200 |
commit | 3cca9e670434cf4001012d3d41935df8f50604c5 (patch) | |
tree | 114ea9caa0a899212041c5d50050523aa43ca874 /Kernel/init.cpp | |
parent | 7bdd66ed89582f95de55c68622558b2fbe6837ca (diff) | |
download | serenity-3cca9e670434cf4001012d3d41935df8f50604c5.zip |
Kernel: Initialize TimeManagement before using KernelRNG
We should initialize the timers before KernelRNG as the RNG may want
to utilize system time as an entropy source.
Fixes #8710
Diffstat (limited to 'Kernel/init.cpp')
-rw-r--r-- | Kernel/init.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Kernel/init.cpp b/Kernel/init.cpp index 5b1ed32b10..a0ba15cc13 100644 --- a/Kernel/init.cpp +++ b/Kernel/init.cpp @@ -144,14 +144,15 @@ extern "C" [[noreturn]] UNMAP_AFTER_INIT void init() InterruptManagement::initialize(); ACPI::initialize(); + // Initialize TimeManagement before using randomness! + TimeManagement::initialize(0); + __stack_chk_guard = get_fast_random<u32>(); ProcFSComponentRegistry::initialize(); Thread::initialize(); Process::initialize(); - TimeManagement::initialize(0); - Scheduler::initialize(); dmesgln("Starting SerenityOS..."); |