aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2006-11-08 20:44:51 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-11-08 21:29:24 -0500
commit13bb7e37e5081d03643e2bd64f3f5d21f32e7221 (patch)
treed7dc30aa8b7f852a3a8b264eb1822140d32f564c
parent6c33eb39976b67628452ebc791834c7d590e545e (diff)
[PATCH] sysctl: Undeprecate sys_sysctl
The basic issue is that despite have been deprecated and warned about as a very bad thing in the man pages since its inception there are a few real users of sys_sysctl. It was my assumption that because sysctl had been deprecated for all of 2.6 there would be no user space users by this point, so I initially gave sys_sysctl a very short deprecation period. Now that I know there are a few real users the only sane way to proceed with deprecation is to push the time limit out to a year or two work and work with distributions that have big testing pools like fedora core to find these last remaining users. Which means that the sys_sysctl interface needs to be maintained in the meantime. Since I have provided a technical measure that allows us to add new sysctl entries without reserving more binary numbers I believe that is enough to fix the sys_sysctl binary interface maintenance problems, because there is no longer a need to change the binary interface at all. Since the sys_sysctl implementation needs to stay around for a while and the worst of the maintenance issues that caused us to occasionally break the ABI have been addressed I don't see any advantage in continuing with the removal of sys_sysctl. So instead of merely increasing the deprecation period this patch removes the deprecation of sys_sysctl and modifies the kernel to compile the code in by default. With committing to maintain sys_sysctl we get all of the advantages of a fast interface for anything that needs it. Currently sys_sysctl is about 5x faster than /proc/sys, for the same string data. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Acked-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--Documentation/feature-removal-schedule.txt12
-rw-r--r--init/Kconfig19
2 files changed, 9 insertions, 22 deletions
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index 1ac3c74646e3..d52c4aaaf17f 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -53,18 +53,6 @@ Who: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
53 53
54--------------------------- 54---------------------------
55 55
56What: sys_sysctl
57When: January 2007
58Why: The same information is available through /proc/sys and that is the
59 interface user space prefers to use. And there do not appear to be
60 any existing user in user space of sys_sysctl. The additional
61 maintenance overhead of keeping a set of binary names gets
62 in the way of doing a good job of maintaining this interface.
63
64Who: Eric Biederman <ebiederm@xmission.com>
65
66---------------------------
67
68What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl]) 56What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl])
69When: November 2005 57When: November 2005
70Files: drivers/pcmcia/: pcmcia_ioctl.c 58Files: drivers/pcmcia/: pcmcia_ioctl.c
diff --git a/init/Kconfig b/init/Kconfig
index c8b2624af176..176f7e5136c7 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -304,20 +304,19 @@ config UID16
304 304
305config SYSCTL_SYSCALL 305config SYSCTL_SYSCALL
306 bool "Sysctl syscall support" if EMBEDDED 306 bool "Sysctl syscall support" if EMBEDDED
307 default n 307 default y
308 select SYSCTL 308 select SYSCTL
309 ---help--- 309 ---help---
310 Enable the deprecated sysctl system call. sys_sysctl uses 310 sys_sysctl uses binary paths that have been found challenging
311 binary paths that have been found to be a major pain to maintain 311 to properly maintain and use. The interface in /proc/sys
312 and use. The interface in /proc/sys is now the primary and what 312 using paths with ascii names is now the primary path to this
313 everyone uses. 313 information.
314 314
315 Nothing has been using the binary sysctl interface for some 315 Almost nothing using the binary sysctl interface so if you are
316 time now so nothing should break if you disable sysctl syscall 316 trying to save some space it is probably safe to disable this,
317 support, and your kernel will get marginally smaller. 317 making your kernel marginally smaller.
318 318
319 Unless you have an application that uses the sys_sysctl interface 319 If unsure say Y here.
320 you should probably say N here.
321 320
322config KALLSYMS 321config KALLSYMS
323 bool "Load all symbols for debugging/kksymoops" if EMBEDDED 322 bool "Load all symbols for debugging/kksymoops" if EMBEDDED