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.
Showing the changes to kernel/sysctl_binary.c (1 of 1 file). Show all
Unified · Split
| @@ -1399,6 +1399,13 @@ static void deprecated_sysctl_warning(const int *name, int nlen) · 1398 unmodified lines | |||
| 1399 | { | 1399 | { |
| 1400 | int i; | 1400 | int i; |
| 1401 | 1401 | ||
| 1402 | /* | ||
| 1403 | * CTL_KERN/KERN_VERSION is used by older glibc and cannot | ||
| 1404 | * ever go away. | ||
| 1405 | */ | ||
| 1406 | if (name[0] == CTL_KERN && name[1] == KERN_VERSION) | ||
| 1407 | return; | ||
| 1408 | |||
| 1402 | if (printk_ratelimit()) { | 1409 | if (printk_ratelimit()) { |
| 1403 | printk(KERN_INFO | 1410 | printk(KERN_INFO |
| 1404 | "warning: process `%s' used the deprecated sysctl " | 1411 | "warning: process `%s' used the deprecated sysctl " |