]> git.baikalelectronics.ru Git - kernel.git/commit
random: make random_get_entropy() return an unsigned long
authorJason A. Donenfeld <Jason@zx2c4.com>
Fri, 8 Apr 2022 16:14:57 +0000 (18:14 +0200)
committerJason A. Donenfeld <Jason@zx2c4.com>
Wed, 13 Apr 2022 11:58:57 +0000 (13:58 +0200)
commitf7270f1ce21ba9d05df7874e2bbbf3900c652675
tree7d583242af33f434736d0f26bf5003489b4a050b
parent6c9d9cc3e923c9012717d6b14fa35f4747dea4f8
random: make random_get_entropy() return an unsigned long

Some implementations were returning type `unsigned long`, while others
that fell back to get_cycles() were implicitly returning a `cycles_t` or
an untyped constant int literal. That makes for weird and confusing
code, and basically all code in the kernel already handled it like it
was an `unsigned long`. I recently tried to handle it as the largest
type it could be, a `cycles_t`, but doing so doesn't really help with
much.

Instead let's just make random_get_entropy() return an unsigned long all
the time. This also matches the commonly used `arch_get_random_long()`
function, so now RDRAND and RDTSC return the same sized integer, which
means one can fallback to the other more gracefully.

Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Cc: Theodore Ts'o <tytso@mit.edu>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
drivers/char/random.c
include/linux/timex.h