]> nv-tegra.nvidia Code Review - linux-2.6.git/commitdiff
[sysctl] Fix breakage on systems with older glibc
authorAndi Kleen <andi@firstfloor.org>
Wed, 16 Dec 2009 11:28:44 +0000 (12:28 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 16 Dec 2009 20:36:18 +0000 (12:36 -0800)
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 system 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>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
kernel/sysctl_binary.c

index b75dbf40f5733411780b79bbce43c84f8918687e..112533d5fc08a2e91adec8d4242c8e241f796c89 100644 (file)
@@ -1399,6 +1399,13 @@ static void deprecated_sysctl_warning(const int *name, int nlen)
 {
        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 "