From 5df6270e324221ba4bb46e8a707e94b09e05a52c Mon Sep 17 00:00:00 2001 From: Bananymous Date: Fri, 18 Jul 2025 19:36:37 +0300 Subject: [PATCH] Kernel: Clobber flags in `rdrand` --- kernel/kernel/Random.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/kernel/Random.cpp b/kernel/kernel/Random.cpp index ce653704..5dc391a3 100644 --- a/kernel/kernel/Random.cpp +++ b/kernel/kernel/Random.cpp @@ -21,13 +21,14 @@ namespace Kernel if (ecx & CPUID::ECX_RDRND) { #if ARCH(x86_64) - asm volatile("rdrand %0" : "=r"(s_rand_seed)); + asm volatile("rdrand %0" : "=r"(s_rand_seed) :: "flags"); #elif ARCH(i686) uint32_t lo, hi; asm volatile( "rdrand %[lo];" "rdrand %[hi];" : [lo]"=r"(lo), [hi]"=r"(hi) + :: "flags" ); s_rand_seed = ((uint64_t)hi << 32) | lo; #else