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 | 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 | 1409 | if (printk_ratelimit()) { |
| 1403 | 1410 | printk(KERN_INFO |
| 1404 | 1411 | "warning: process `%s' used the deprecated sysctl " |