Re: [PATCH 1/2] sysctl: Refactor base paths registrations

From: Luis Chamberlain
Date: Wed May 24 2023 - 13:55:42 EST


On Wed, May 24, 2023 at 06:29:06AM -0700, Guenter Roeck wrote:
> On Thu, May 18, 2023 at 06:07:04PM +0200, Joel Granados wrote:
> > This is part of the general push to deprecate register_sysctl_paths and
> > register_sysctl_table. The old way of doing this through
> > register_sysctl_base and DECLARE_SYSCTL_BASE macro is replaced with a
> > call to register_sysctl. The 5 base paths affected are: "kernel", "vm",
> > "debug", "dev" and "fs".
> >
> > We remove the register_sysctl_base function and the DECLARE_SYSCTL_BASE
> > macro since they are no longer needed.
> >
> > In order to quickly acertain that the paths did not actually change I
> > executed `find /proc/sys/ | sha1sum` and made sure that the sha was the
> > same before and after the commit.
> >
> > Signed-off-by: Joel Granados <j.granados@xxxxxxxxxxx>
>
> This patch results in the following warning, seen across almost
> all architectures.
>
> sysctl table check failed: kernel/usermodehelper Not a file
> sysctl table check failed: kernel/usermodehelper No proc_handler
> sysctl table check failed: kernel/usermodehelper bogus .mode 0555
> sysctl table check failed: kernel/keys Not a file
> sysctl table check failed: kernel/keys No proc_handler
> sysctl table check failed: kernel/keys bogus .mode 0555
> CPU: 0 PID: 0 Comm: swapper/0 Not tainted 6.4.0-rc3-next-20230524 #1
> Stack : ffffffff 801aed28 80e44644 00000004 81946ba4 00000000 810d3db4 b782f641
> 810f0000 81269940 810f0000 810fa610 811bb193 00000001 810d3d58 00000000
> 00000000 00000000 810099d8 000000f2 00000001 000000f3 00000000 00000000
> ffffffff 00000002 00000000 fff80000 810f0000 810099d8 00000001 ffffffea
> 8013bab4 8113bb14 8013caa8 80fe0000 00000000 807b9d54 00000000 81270000
> ...
> Call Trace:
> [<8010a558>] show_stack+0x38/0x118
> [<80d67edc>] dump_stack_lvl+0xa4/0xf0
> [<8039c8e0>] __register_sysctl_table+0x5b4/0x7a0
> [<811e55e4>] __register_sysctl_init+0x30/0x68
> [<811d5164>] sysctl_init_bases+0x24/0x88
> [<811e517c>] proc_root_init+0x94/0xa8
> [<811ccebc>] start_kernel+0x704/0x740
>
> failed when register_sysctl kern_table to kernel
>
> Reverting this patch alone results in build failures. Reverting this patch
> as well as the second patch in the series (to avoid the build failures)
> fixes the problem.
>
> Guenter

Thanks Guenter! The issue has been fixed on sysct-next, and I suppose
the fix will get into linux-next as of tomorrow.

Luis