summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2022-04-08 18:03:13 +0200
committerJason A. Donenfeld <Jason@zx2c4.com>2022-05-13 23:59:23 +0200
commit6d01238623faa9425f820353d2066baf6c9dc872 (patch)
tree45a3f7d324fd32178258080713d6d038a3511be2 /arch
parent0f392c95391f2d708b12971a07edaa7973f9eece (diff)
downloadlinux-stable-6d01238623faa9425f820353d2066baf6c9dc872.tar.gz
linux-stable-6d01238623faa9425f820353d2066baf6c9dc872.tar.bz2
linux-stable-6d01238623faa9425f820353d2066baf6c9dc872.zip
riscv: use fallback for random_get_entropy() instead of zero
In the event that random_get_entropy() can't access a cycle counter or similar, falling back to returning 0 is really not the best we can do. Instead, at least calling random_get_entropy_fallback() would be preferable, because that always needs to return _something_, even falling back to jiffies eventually. It's not as though random_get_entropy_fallback() is super high precision or guaranteed to be entropic, but basically anything that's not zero all the time is better than returning zero all the time. Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Paul Walmsley <paul.walmsley@sifive.com> Acked-by: Palmer Dabbelt <palmer@rivosinc.com> Reviewed-by: Palmer Dabbelt <palmer@rivosinc.com> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/riscv/include/asm/timex.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/riscv/include/asm/timex.h b/arch/riscv/include/asm/timex.h
index 507cae273bc6..d6a7428f6248 100644
--- a/arch/riscv/include/asm/timex.h
+++ b/arch/riscv/include/asm/timex.h
@@ -41,7 +41,7 @@ static inline u32 get_cycles_hi(void)
static inline unsigned long random_get_entropy(void)
{
if (unlikely(clint_time_val == NULL))
- return 0;
+ return random_get_entropy_fallback();
return get_cycles();
}
#define random_get_entropy() random_get_entropy()