sysctl: Fix syscall disabled build.
PATCH 1/1 sysctl: Fix syscall disabled build.
deprecated_sysctl_warning() is used for sys_sysctl(), whether CONFIG_SYSCTL_SYSCALL is enabled or not. When it was added, it was added under the CONFIG_SYSCTL section, so it's not defined if we have the support disabled completely.
CC kernel/sysctl.okernel/sysctl.c: In function 'sys_sysctl':kernel/sysctl.c:2601: error: implicit declaration of function 'deprecated_sysctl_warning' make[1]: *** [kernel/sysctl.o] Error 1
make: *** [kernel] Error 2
This just moves the function past the end of the CONFIG_SYSCTL space so both configurations are happy.
Signed-off-by Paul Mundt <[email protected]>
--
kernel/sysctl.c | 56 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 29 insertions(+), 27 deletions(-)
kernel/sysctl.c +29 -27
@@ -55,6 +55,8 @@#include <asm/stacktrace.h> #endif +static int deprecated_sysctl_warning (struct __sysctl_args *args); +#if defined(CONFIG_SYSCTL )/* External variables not in a header file. */
@@ -1330,33 +1332,6 @@return NULL ; } -static int deprecated_sysctl_warning (struct __sysctl_args *args) -{ -static int msg_count; -int name[CTL_MAXNAME ]; -int i; - -/* Read in the sysctl name for better debug message logging */ -for (i =0 ; i < args->nlen; i++) -if (get_user (name[i], args->name + i)) -return -EFAULT ; - -/* Ignore accesses to kernel.version */ -if ((args->nlen ==2 ) && (name[0 ] ==CTL_KERN ) && (name[1 ] ==KERN_VERSION )) -return 0 ; - -if (msg_count <5 ) { - msg_count++; -printk (KERN_INFO -"warning: process `%s' used the deprecated sysctl " -"system call with " , current->comm); -for (i =0 ; i < args->nlen; i++) -printk ("%d." , name[i]); -printk ("\n" ); - } -return 0 ; -} -#ifdef CONFIG_SYSCTL_SYSCALL int do_sysctl (int __user *name,int nlen,void __user *oldval,size_t __user *oldlenp,void __user *newval,size_t newlen)
@@ -2644,6 +2619,33 @@#endif /* CONFIG_SYSCTL_SYSCALL */ +static int deprecated_sysctl_warning (struct __sysctl_args *args) +{ +static int msg_count; +int name[CTL_MAXNAME ]; +int i; + +/* Read in the sysctl name for better debug message logging */ +for (i =0 ; i < args->nlen; i++) +if (get_user (name[i], args->name + i)) +return -EFAULT ; + +/* Ignore accesses to kernel.version */ +if ((args->nlen ==2 ) && (name[0 ] ==CTL_KERN ) && (name[1 ] ==KERN_VERSION )) +return 0 ; + +if (msg_count <5 ) { + msg_count++; +printk (KERN_INFO +"warning: process `%s' used the deprecated sysctl " +"system call with " , current->comm); +for (i =0 ; i < args->nlen; i++) +printk ("%d." , name[i]); +printk ("\n" ); + } +return 0 ; +} +/* * No sense putting this after each symbol definition, twice, * exception granted :-)