aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2008-02-27 03:39:52 -0500
committerIngo Molnar <mingo@elte.hu>2008-02-29 12:55:39 -0500
commitd67bbacb4b557ece3b41abdcb616354ac0ce00e1 (patch)
tree9ce2927bb34e60816675b9460a2ee968bc000d73 /arch
parentcded932b75ab0a5f9181ee3da34a0a488d1a14fd (diff)
x86: restore vsyscall64 prochandler
a recent fix: commit ce28b9864b853803320c3f1d8de1b81aa4120b14 Author: Thomas Gleixner <tglx@linutronix.de> Date: Wed Feb 20 23:57:30 2008 +0100 x86: fix vsyscall wreckage removed the broken /kernel/vsyscall64 handler completely. This triggers the following debug check: sysctl table check failed: /kernel/vsyscall64 No proc_handler Restore the sane part of the proc handler. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/vsyscall_64.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/x86/kernel/vsyscall_64.c b/arch/x86/kernel/vsyscall_64.c
index b6be812fac05..edff4c985485 100644
--- a/arch/x86/kernel/vsyscall_64.c
+++ b/arch/x86/kernel/vsyscall_64.c
@@ -222,10 +222,19 @@ long __vsyscall(3) venosys_1(void)
222} 222}
223 223
224#ifdef CONFIG_SYSCTL 224#ifdef CONFIG_SYSCTL
225
226static int
227vsyscall_sysctl_change(ctl_table *ctl, int write, struct file * filp,
228 void __user *buffer, size_t *lenp, loff_t *ppos)
229{
230 return proc_dointvec(ctl, write, filp, buffer, lenp, ppos);
231}
232
225static ctl_table kernel_table2[] = { 233static ctl_table kernel_table2[] = {
226 { .procname = "vsyscall64", 234 { .procname = "vsyscall64",
227 .data = &vsyscall_gtod_data.sysctl_enabled, .maxlen = sizeof(int), 235 .data = &vsyscall_gtod_data.sysctl_enabled, .maxlen = sizeof(int),
228 .mode = 0644 }, 236 .mode = 0644,
237 .proc_handler = vsyscall_sysctl_change },
229 {} 238 {}
230}; 239};
231 240