On Fri, May 29, 2020 at 07:41:06AM +0000, Luis Chamberlain wrote:
From: Xiaoming Ni nixiaoming@huawei.com
Move random_table sysctl from kernel/sysctl.c to drivers/char/random.c and use register_sysctl_subdir() to help remove the clutter out of kernel/sysctl.c.
Signed-off-by: Xiaoming Ni nixiaoming@huawei.com Signed-off-by: Luis Chamberlain mcgrof@kernel.org
drivers/char/random.c | 14 ++++++++++++-- include/linux/sysctl.h | 1 - kernel/sysctl.c | 5 ----- 3 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/drivers/char/random.c b/drivers/char/random.c index a7cf6aa65908..73fd4b6e9c18 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -2101,8 +2101,7 @@ static int proc_do_entropy(struct ctl_table *table, int write, }
static int sysctl_poolsize = INPUT_POOL_WORDS * 32; -extern struct ctl_table random_table[]; -struct ctl_table random_table[] = { +static struct ctl_table random_table[] = { { .procname = "poolsize", .data = &sysctl_poolsize, @@ -2164,6 +2163,17 @@ struct ctl_table random_table[] = { #endif { } };
+/*
- rand_initialize() is called before sysctl_init(),
- so we cannot call register_sysctl_init() in rand_initialize()
- */
+static int __init random_sysctls_init(void) +{
- register_sysctl_subdir("kernel", "random", random_table);
No error checking?
:(