Luis Chamberlain <mcgrof@xxxxxxxxxx> writes: > On Wed, May 13, 2020 at 08:42:30AM -0500, Eric W. Biederman wrote: >> Luis Chamberlain <mcgrof@xxxxxxxxxx> writes: >> >> > On Tue, May 12, 2020 at 12:40:55PM -0500, Eric W. Biederman wrote: >> >> Luis Chamberlain <mcgrof@xxxxxxxxxx> writes: >> >> >> >> > On Tue, May 12, 2020 at 06:52:35AM -0500, Eric W. Biederman wrote: >> >> >> Luis Chamberlain <mcgrof@xxxxxxxxxx> writes: >> >> >> >> >> >> > +static struct ctl_table fs_base_table[] = { >> >> >> > + { >> >> >> > + .procname = "fs", >> >> >> > + .mode = 0555, >> >> >> > + .child = fs_table, >> >> >> > + }, >> >> >> > + { } >> >> >> > +}; >> >> >> ^^^^^^^^^^^^^^^^^^^^^^^^ You don't need this at all. >> >> >> > > +static int __init fs_procsys_init(void) >> >> >> > +{ >> >> >> > + struct ctl_table_header *hdr; >> >> >> > + >> >> >> > + hdr = register_sysctl_table(fs_base_table); >> >> >> ^^^^^^^^^^^^^^^^^^^^^ Please use register_sysctl instead. >> >> >> AKA >> >> >> hdr = register_sysctl("fs", fs_table); >> >> > >> >> > Ah, much cleaner thanks! >> >> >> >> It is my hope you we can get rid of register_sysctl_table one of these >> >> days. It was the original interface but today it is just a >> >> compatibility wrapper. >> >> >> >> I unfortunately ran out of steam last time before I finished converting >> >> everything over. >> > >> > Let's give it one more go. I'll start with the fs stuff. >> >> Just to be clear moving the tables out of kernel/sysctl.c is a related >> but slightly different problem. > > Sure, but also before we go on this crusade, how about we add a few > helpers: > > register_sysctl_kernel() > register_sysctl_vm() > register_sysctl_fs() > register_sysctl_debug() > register_sysctl_dev() Hmm. register_sysctl("kernel") > That should make it easier to look for these, and shorter. We *know* > this is a common path, given the size of the existing table. I don't really care but one character shorter doesn't look like it really helps. Not really for grepping and not maintenance as we get a bunch of trivial one line implementations. Eric