* [PATCH 1/2] random: give sysctl_random_min_urandom_seed a more sensible value @ 2022-02-28 13:37 Jason A. Donenfeld 2022-02-28 13:37 ` [PATCH 2/2] random: don't let 644 read-only sysctls be written to Jason A. Donenfeld 2022-03-01 5:14 ` [PATCH 1/2] random: give sysctl_random_min_urandom_seed a more sensible value Dominik Brodowski 0 siblings, 2 replies; 4+ messages in thread From: Jason A. Donenfeld @ 2022-02-28 13:37 UTC (permalink / raw) To: linux-kernel; +Cc: Jason A. Donenfeld, Dominik Brodowski, Theodore Ts'o This isn't used by anything or anywhere, but we can't delete it due to compatibility. So at least give it the correct value of what it's supposed to be instead of a garbage one. Cc: Dominik Brodowski <linux@dominikbrodowski.net> Cc: Theodore Ts'o <tytso@mit.edu> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> --- drivers/char/random.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/char/random.c b/drivers/char/random.c index 8171c3bbf460..116ebf50d791 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -1619,7 +1619,7 @@ const struct file_operations urandom_fops = { * 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". + * - urandom_min_reseed_secs - fixed to the value CRNG_RESEED_INTERVAL. * It is writable to avoid breaking old userspaces, but writing * to it does not change any behavior of the RNG. * @@ -1629,7 +1629,7 @@ const struct file_operations urandom_fops = { #include <linux/sysctl.h> -static int sysctl_random_min_urandom_seed = 60; +static int sysctl_random_min_urandom_seed = CRNG_RESEED_INTERVAL / HZ; static int sysctl_random_write_wakeup_bits = POOL_MIN_BITS; static int sysctl_poolsize = POOL_BITS; static u8 sysctl_bootid[UUID_SIZE]; -- 2.35.1 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 2/2] random: don't let 644 read-only sysctls be written to 2022-02-28 13:37 [PATCH 1/2] random: give sysctl_random_min_urandom_seed a more sensible value Jason A. Donenfeld @ 2022-02-28 13:37 ` Jason A. Donenfeld 2022-03-01 5:16 ` Dominik Brodowski 2022-03-01 5:14 ` [PATCH 1/2] random: give sysctl_random_min_urandom_seed a more sensible value Dominik Brodowski 1 sibling, 1 reply; 4+ messages in thread From: Jason A. Donenfeld @ 2022-02-28 13:37 UTC (permalink / raw) To: linux-kernel; +Cc: Jason A. Donenfeld, Dominik Brodowski, Theodore Ts'o We leave around these old sysctls for compatibility, and we keep them "writable" for compatibility, but even after writing, we should keep reporting the same value. This is consistent with how userspaces tend to use sysctl_random_write_wakeup_bits, writing to it, and then later reading from it and using the value. Cc: Dominik Brodowski <linux@dominikbrodowski.net> Cc: Theodore Ts'o <tytso@mit.edu> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> --- drivers/char/random.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/char/random.c b/drivers/char/random.c index 116ebf50d791..06c6e15b5f3d 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -1669,6 +1669,13 @@ static int proc_do_uuid(struct ctl_table *table, int write, void *buffer, return proc_dostring(&fake_table, 0, buffer, lenp, ppos); } +/* The same as proc_dointvec, but writes don't change anything. */ +static int proc_do_rointvec(struct ctl_table *table, int write, void *buffer, + size_t *lenp, loff_t *ppos) +{ + return write ? 0 : proc_dointvec(table, write, buffer, lenp, ppos); +} + static struct ctl_table random_table[] = { { .procname = "poolsize", @@ -1689,14 +1696,14 @@ static struct ctl_table random_table[] = { .data = &sysctl_random_write_wakeup_bits, .maxlen = sizeof(int), .mode = 0644, - .proc_handler = proc_dointvec, + .proc_handler = proc_do_rointvec, }, { .procname = "urandom_min_reseed_secs", .data = &sysctl_random_min_urandom_seed, .maxlen = sizeof(int), .mode = 0644, - .proc_handler = proc_dointvec, + .proc_handler = proc_do_rointvec, }, { .procname = "boot_id", -- 2.35.1 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] random: don't let 644 read-only sysctls be written to 2022-02-28 13:37 ` [PATCH 2/2] random: don't let 644 read-only sysctls be written to Jason A. Donenfeld @ 2022-03-01 5:16 ` Dominik Brodowski 0 siblings, 0 replies; 4+ messages in thread From: Dominik Brodowski @ 2022-03-01 5:16 UTC (permalink / raw) To: Jason A. Donenfeld; +Cc: linux-kernel, Theodore Ts'o Am Mon, Feb 28, 2022 at 02:37:43PM +0100 schrieb Jason A. Donenfeld: > We leave around these old sysctls for compatibility, and we keep them > "writable" for compatibility, but even after writing, we should keep > reporting the same value. This is consistent with how userspaces tend to > use sysctl_random_write_wakeup_bits, writing to it, and then later > reading from it and using the value. > > Cc: Dominik Brodowski <linux@dominikbrodowski.net> > Cc: Theodore Ts'o <tytso@mit.edu> > Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> > --- > drivers/char/random.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/drivers/char/random.c b/drivers/char/random.c > index 116ebf50d791..06c6e15b5f3d 100644 > --- a/drivers/char/random.c > +++ b/drivers/char/random.c > @@ -1669,6 +1669,13 @@ static int proc_do_uuid(struct ctl_table *table, int write, void *buffer, > return proc_dostring(&fake_table, 0, buffer, lenp, ppos); > } > > +/* The same as proc_dointvec, but writes don't change anything. */ > +static int proc_do_rointvec(struct ctl_table *table, int write, void *buffer, > + size_t *lenp, loff_t *ppos) > +{ > + return write ? 0 : proc_dointvec(table, write, buffer, lenp, ppos); > +} While it would be better if we could return -EINVAL or something like that, I see the point of this patch: Reviewed-by: Dominik Brodowski <linux@dominikbrodowski.net> ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] random: give sysctl_random_min_urandom_seed a more sensible value 2022-02-28 13:37 [PATCH 1/2] random: give sysctl_random_min_urandom_seed a more sensible value Jason A. Donenfeld 2022-02-28 13:37 ` [PATCH 2/2] random: don't let 644 read-only sysctls be written to Jason A. Donenfeld @ 2022-03-01 5:14 ` Dominik Brodowski 1 sibling, 0 replies; 4+ messages in thread From: Dominik Brodowski @ 2022-03-01 5:14 UTC (permalink / raw) To: Jason A. Donenfeld; +Cc: linux-kernel, Theodore Ts'o Am Mon, Feb 28, 2022 at 02:37:42PM +0100 schrieb Jason A. Donenfeld: > This isn't used by anything or anywhere, but we can't delete it due to > compatibility. So at least give it the correct value of what it's > supposed to be instead of a garbage one. > > Cc: Dominik Brodowski <linux@dominikbrodowski.net> > Cc: Theodore Ts'o <tytso@mit.edu> > Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Reviewed-by: Dominik Brodowski <linux@dominikbrodowski.net> Thanks, Dominik ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-03-01 5:20 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-02-28 13:37 [PATCH 1/2] random: give sysctl_random_min_urandom_seed a more sensible value Jason A. Donenfeld 2022-02-28 13:37 ` [PATCH 2/2] random: don't let 644 read-only sysctls be written to Jason A. Donenfeld 2022-03-01 5:16 ` Dominik Brodowski 2022-03-01 5:14 ` [PATCH 1/2] random: give sysctl_random_min_urandom_seed a more sensible value Dominik Brodowski
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®