lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <m16385abat.fsf@fess.ebiederm.org>
Date:	Thu, 17 Dec 2009 07:07:54 -0800
From:	ebiederm@...ssion.com (Eric W. Biederman)
To:	Andi Kleen <andi@...stfloor.org>
Cc:	akpm@...ux-foundation.org, torvalds@...ux-foundation.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH] SYSCTL: Fix sysctl breakage on systems with older glibc

Andi Kleen <andi@...stfloor.org> writes:

> SYSCTL: Fix breakage on systems with older glibc
>
> 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 cranked the level of warning up at least in part to see what the
reaction would be.  If it makes logging in and manually using the
machine unbearable on systems with versions of glibc from days of
yore, the level of logging is too high.

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

Perhaps it is just my sample of the world but glibc < 2.5 isn't
common, especially on machines that I am putting new kernels on.
Equally machines with 3+ year old installs are rare.

> Signed-off-by: Andi Kleen <ak@...ux.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.
> +	 */
The comment is wrong.  Older versions of glibc are perfectly happy
getting -ENOSYS form sys_sysctl.

> +	if (name[0] == CTL_KERN && name[1] == KERN_VERSION)
> +		return;

If you make it printk_once for this case I think that strikes the right
balance.  You won't be spammed to death by messages telling you about
a silly old glibc, but you will be told.

>  	if (printk_ratelimit()) {
>  		printk(KERN_INFO
>  			"warning: process `%s' used the deprecated sysctl "

Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ