mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 12:35:52 +02:00
sh: vdso: move the sysctl to arch/sh/kernel/vsyscall/vsyscall.c
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. To avoid failure when registering the vdso_table, move the call to register_sysctl_init() into its own fs_initcall(). Signed-off-by: Kaixiong Yu <yukaixiong@huawei.com> Reviewed-by: Kees Cook <kees@kernel.org> Signed-off-by: Joel Granados <joel.granados@kernel.org>
This commit is contained in:
parent
a33e288147
commit
f569ca4b14
|
|
@ -14,6 +14,7 @@
|
|||
#include <linux/module.h>
|
||||
#include <linux/elf.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/sysctl.h>
|
||||
#include <linux/err.h>
|
||||
|
||||
/*
|
||||
|
|
@ -30,6 +31,17 @@ static int __init vdso_setup(char *s)
|
|||
}
|
||||
__setup("vdso=", vdso_setup);
|
||||
|
||||
static const struct ctl_table vdso_table[] = {
|
||||
{
|
||||
.procname = "vdso_enabled",
|
||||
.data = &vdso_enabled,
|
||||
.maxlen = sizeof(vdso_enabled),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec,
|
||||
.extra1 = SYSCTL_ZERO,
|
||||
},
|
||||
};
|
||||
|
||||
/*
|
||||
* These symbols are defined by vsyscall.o to mark the bounds
|
||||
* of the ELF DSO images included therein.
|
||||
|
|
@ -58,6 +70,14 @@ int __init vsyscall_init(void)
|
|||
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)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2012,18 +2012,7 @@ static const struct ctl_table kern_table[] = {
|
|||
#endif
|
||||
};
|
||||
|
||||
static const struct ctl_table vm_table[] = {
|
||||
#if defined(CONFIG_SUPERH) && defined(CONFIG_VSYSCALL)
|
||||
{
|
||||
.procname = "vdso_enabled",
|
||||
.data = &vdso_enabled,
|
||||
.maxlen = sizeof(vdso_enabled),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec,
|
||||
.extra1 = SYSCTL_ZERO,
|
||||
},
|
||||
#endif
|
||||
};
|
||||
static const struct ctl_table vm_table[] = {};
|
||||
|
||||
int __init sysctl_init_bases(void)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user