Re: [PATCH v4 -next 14/15] sh: vdso: move the sysctl to arch/sh/kernel/vsyscall/vsyscall.c
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2025-01-03 11:11:25
Also in:
linux-fsdevel, linux-mm, linux-nfs, linux-security-module, linux-sh, lkml
Hi Kaixiong, On Sat, Dec 28, 2024 at 4:07 PM Kaixiong Yu [off-list ref] wrote:
When CONFIG_SUPERH and CONFIG_VSYSCALL are defined, vdso_enabled belongs to arch/sh/kernel/vsyscall/vsyscall.c. So, move it into its own file. After this patch is applied, all sysctls of vm_table would be moved. So, delete vm_table. Signed-off-by: Kaixiong Yu <redacted> Reviewed-by: Kees Cook <kees@kernel.org> --- v4: - const qualify struct ctl_table vdso_table
Thanks for your patch! I gave this a try on landisk, and /proc/sys/vm/vdso_enabled disappeared.
quoted hunk ↗ jump to hunk
--- a/arch/sh/kernel/vsyscall/vsyscall.c +++ b/arch/sh/kernel/vsyscall/vsyscall.c@@ -55,6 +67,8 @@ int __init vsyscall_init(void) &vsyscall_trapa_start, &vsyscall_trapa_end - &vsyscall_trapa_start); + register_sysctl_init("vm", vdso_table);
"failed when register_sysctl_sz vdso_table to vm"
Adding some debug prints shows that kzalloc() in
__register_sysctl_table() fails, presumably because it is called too
early in the boot process.
+
return 0;
}Moving the call to register_sysctl_init() into its own fs_initcall(), like the gmail-whitespace-damaged patch below, fixes that.
--- a/arch/sh/kernel/vsyscall/vsyscall.c
+++ b/arch/sh/kernel/vsyscall/vsyscall.c@@ -67,11 +67,17 @@ int __init vsyscall_init(void) &vsyscall_trapa_start, &vsyscall_trapa_end - &vsyscall_trapa_start); - register_sysctl_init("vm", vdso_table); + return 0; +} +static int __init vm_sysctl_init(void) +{ + register_sysctl_init("vm", vdso_table); return 0; } +fs_initcall(vm_sysctl_init); + /* Setup a VMA at program startup for the vsyscall page */ int arch_setup_additional_pages(struct linux_binprm *bprm, int uses_interp) {
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds