| From foo@baz Thu Jun 16 06:59:24 PM CEST 2022 |
| From: "Jason A. Donenfeld" <Jason@zx2c4.com> |
| Date: Fri, 11 Feb 2022 12:53:34 +0100 |
| Subject: random: group sysctl functions |
| |
| From: "Jason A. Donenfeld" <Jason@zx2c4.com> |
| |
| commit 0deff3c43206c24e746b1410f11125707ad3040e upstream. |
| |
| This pulls all of the sysctl-focused functions into the sixth labeled |
| section. |
| |
| No functional changes. |
| |
| Cc: Theodore Ts'o <tytso@mit.edu> |
| Reviewed-by: Dominik Brodowski <linux@dominikbrodowski.net> |
| Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/char/random.c | 35 ++++++++++++++++++++++++++++++----- |
| 1 file changed, 30 insertions(+), 5 deletions(-) |
| |
| --- a/drivers/char/random.c |
| +++ b/drivers/char/random.c |
| @@ -1687,9 +1687,34 @@ const struct file_operations urandom_fop |
| .llseek = noop_llseek, |
| }; |
| |
| + |
| /******************************************************************** |
| * |
| - * Sysctl interface |
| + * Sysctl interface. |
| + * |
| + * These are partly unused legacy knobs with dummy values to not break |
| + * userspace and partly still useful things. They are usually accessible |
| + * in /proc/sys/kernel/random/ and are as follows: |
| + * |
| + * - boot_id - a UUID representing the current boot. |
| + * |
| + * - uuid - a random UUID, different each time the file is read. |
| + * |
| + * - poolsize - the number of bits of entropy that the input pool can |
| + * hold, tied to the POOL_BITS constant. |
| + * |
| + * - entropy_avail - the number of bits of entropy currently in the |
| + * input pool. Always <= poolsize. |
| + * |
| + * - write_wakeup_threshold - the amount of entropy in the input pool |
| + * below which write polls to /dev/random will unblock, requesting |
| + * more entropy, tied to the POOL_MIN_BITS constant. It is writable |
| + * to avoid breaking old userspaces, but writing to it does not |
| + * change any behavior of the RNG. |
| + * |
| + * - urandom_min_reseed_secs - fixed to the meaningless value "60". |
| + * It is writable to avoid breaking old userspaces, but writing |
| + * to it does not change any behavior of the RNG. |
| * |
| ********************************************************************/ |
| |
| @@ -1697,8 +1722,8 @@ const struct file_operations urandom_fop |
| |
| #include <linux/sysctl.h> |
| |
| -static int random_min_urandom_seed = 60; |
| -static int random_write_wakeup_bits = POOL_MIN_BITS; |
| +static int sysctl_random_min_urandom_seed = 60; |
| +static int sysctl_random_write_wakeup_bits = POOL_MIN_BITS; |
| static int sysctl_poolsize = POOL_BITS; |
| static char sysctl_bootid[16]; |
| |
| @@ -1756,14 +1781,14 @@ struct ctl_table random_table[] = { |
| }, |
| { |
| .procname = "write_wakeup_threshold", |
| - .data = &random_write_wakeup_bits, |
| + .data = &sysctl_random_write_wakeup_bits, |
| .maxlen = sizeof(int), |
| .mode = 0644, |
| .proc_handler = proc_dointvec, |
| }, |
| { |
| .procname = "urandom_min_reseed_secs", |
| - .data = &random_min_urandom_seed, |
| + .data = &sysctl_random_min_urandom_seed, |
| .maxlen = sizeof(int), |
| .mode = 0644, |
| .proc_handler = proc_dointvec, |