Luis Chamberlain <mcg...@kernel.org> writes:

> On Tue, May 12, 2020 at 12:40:55PM -0500, Eric W. Biederman wrote:
>> Luis Chamberlain <mcg...@kernel.org> writes:
>> 
>> > On Tue, May 12, 2020 at 06:52:35AM -0500, Eric W. Biederman wrote:
>> >> Luis Chamberlain <mcg...@kernel.org> 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.

Today it looks like there are 35 calls of register_sysctl_table
and 9 calls of register_sysctl_paths.

Among them is lib/sysctl_test.c and check-sysctl-docs.

Meanwhile I can only find 5 calls to register_sysctl in the tree
so it looks like I didn't get very far converting things over.

Eric

Reply via email to