This is a note to let you know that I've just added the patch titled riscv: use fallback for random_get_entropy() instead of zero to the 5.18-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: riscv-use-fallback-for-random_get_entropy-instead-of-zero.patch and it can be found in the queue-5.18 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From foo@baz Thu May 26 04:17:01 PM CEST 2022 From: "Jason A. Donenfeld" <Jason@xxxxxxxxx> Date: Fri, 8 Apr 2022 18:03:13 +0200 Subject: riscv: use fallback for random_get_entropy() instead of zero From: "Jason A. Donenfeld" <Jason@xxxxxxxxx> commit 6d01238623faa9425f820353d2066baf6c9dc872 upstream. 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@xxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Paul Walmsley <paul.walmsley@xxxxxxxxxx> Acked-by: Palmer Dabbelt <palmer@xxxxxxxxxxxx> Reviewed-by: Palmer Dabbelt <palmer@xxxxxxxxxxxx> Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- arch/riscv/include/asm/timex.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- 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() Patches currently in stable-queue which might be from Jason@xxxxxxxxx are queue-5.18/random-remove-ratelimiting-for-in-kernel-unseeded-randomness.patch queue-5.18/random-fix-sysctl-documentation-nits.patch queue-5.18/random-help-compiler-out-with-fast_mix-by-using-simpler-arguments.patch queue-5.18/siphash-use-one-source-of-truth-for-siphash-permutations.patch queue-5.18/um-use-fallback-for-random_get_entropy-instead-of-zero.patch queue-5.18/random-order-timer-entropy-functions-below-interrupt-functions.patch queue-5.18/random-unify-batched-entropy-implementations.patch queue-5.18/random-make-consistent-use-of-buf-and-len.patch queue-5.18/random-move-randomize_page-into-mm-where-it-belongs.patch queue-5.18/random-use-first-128-bits-of-input-as-fast-init.patch queue-5.18/random-use-proper-return-types-on-get_random_-int-long-_wait.patch queue-5.18/s390-define-get_cycles-macro-for-arch-override.patch queue-5.18/timekeeping-add-raw-clock-fallback-for-random_get_entropy.patch queue-5.18/random-use-static-branch-for-crng_ready.patch queue-5.18/arm-use-fallback-for-random_get_entropy-instead-of-zero.patch queue-5.18/mips-use-fallback-for-random_get_entropy-instead-of-just-c0-random.patch queue-5.18/random-avoid-initializing-twice-in-credit-race.patch queue-5.18/random-move-initialization-functions-out-of-hot-pages.patch queue-5.18/random-do-not-pretend-to-handle-premature-next-security-model.patch queue-5.18/random-do-not-use-batches-when-crng_ready.patch queue-5.18/m68k-use-fallback-for-random_get_entropy-instead-of-zero.patch queue-5.18/random-move-initialization-out-of-reseeding-hot-path.patch queue-5.18/x86-tsc-use-fallback-for-random_get_entropy-instead-of-zero.patch queue-5.18/random-credit-architectural-init-the-exact-amount.patch queue-5.18/random-check-for-signals-after-page-of-pool-writes.patch queue-5.18/random-remove-extern-from-functions-in-header.patch queue-5.18/random-do-not-use-input-pool-from-hard-irqs.patch queue-5.18/random-wire-up-fops-splice_-read-write-_iter.patch queue-5.18/random-insist-on-random_get_entropy-existing-in-order-to-simplify.patch queue-5.18/powerpc-define-get_cycles-macro-for-arch-override.patch queue-5.18/parisc-define-get_cycles-macro-for-arch-override.patch queue-5.18/sparc-use-fallback-for-random_get_entropy-instead-of-zero.patch queue-5.18/nios2-use-fallback-for-random_get_entropy-instead-of-zero.patch queue-5.18/init-call-time_init-before-rand_initialize.patch queue-5.18/riscv-use-fallback-for-random_get_entropy-instead-of-zero.patch queue-5.18/ia64-define-get_cycles-macro-for-arch-override.patch queue-5.18/random-handle-latent-entropy-and-command-line-from-random_init.patch queue-5.18/random-use-proper-jiffies-comparison-macro.patch queue-5.18/alpha-define-get_cycles-macro-for-arch-override.patch queue-5.18/random-convert-to-using-fops-read_iter.patch queue-5.18/xtensa-use-fallback-for-random_get_entropy-instead-of-zero.patch queue-5.18/random-use-symbolic-constants-for-crng_init-states.patch queue-5.18/random-convert-to-using-fops-write_iter.patch