Thread (27 messages) read the whole thread 27 messages, 5 authors, 2020-06-04

Re: [PATCH 11/13] random: simplify sysctl declaration with register_sysctl_subdir()

From: Xiaoming Ni <hidden>
Date: 2020-05-29 12:09:08
Also in: intel-gfx, lkml, ocfs2-devel

On 2020/5/29 18:26, Greg KH wrote:
On Fri, May 29, 2020 at 07:41:06AM +0000, Luis Chamberlain wrote:
quoted
From: Xiaoming Ni <redacted>

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 <redacted>
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?

:(
It was my mistake, I forgot to add a comment here.
Same as the comment of register_sysctl_init(),
There is almost no failure here during the system initialization phase,
and failure in time does not affect the main function.

Thanks
Xiaoming Ni


Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help