[PATCH] SYSCTL: Fix sysctl breakage on systems with older glibc

Andi Kleen
2009-12-16T11:28:50Z

SYSCTL: Fix breakage on systems with older glibc

As predicted during code review, the sysctl(2) changes made systems
with old glibc nearly unusable. About every command gives a:

warning: process `ls' used the deprecated sysctl s ystem call with 1.4

warning in the log.

I see this on a SUSE 10.0 system with glibc 2.3.5.
Don't warn for this common case.

Signed-off-by: Andi Kleen <ak@linux.intel.com>

diff -u linux-2.6.32-git12/kernel/sysctl_binary.c-o linux-2.6.32-git12/kernel/sysctl_binary.c
--- linux-2.6.32-git12/kernel/sysctl_binary.c-o 2009-12-16 12:15:52.000000000 +0100
+++ linux-2.6.32-git12/kernel/sysctl_binary.c 2009-12-16 12:14:58.000000000 +0100
@@ -1399,6 +1399,13 @@
{
int i;

+ /*
+ * CTL_KERN/KERN_VERSION is used by older glibc and cannot
+ * ever go away.
+ */
+ if (name[0] == CTL_KERN && name[1] == KERN_VERSION)
+ return;
+
if (printk_ratelimit()) {
printk(KERN_INFO
"warning: process `%s' used the deprecated sysctl "