forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
sysctl: deprecate sys_sysctl in a user space visible fashion.
After adding checking to register_sysctl_table and finding a whole new set of bugs. Missed by countless code reviews and testers I have finally lost patience with the binary sysctl interface. The binary sysctl interface has been sort of deprecated for years and finding a user space program that uses the syscall is more difficult then finding a needle in a haystack. Problems continue to crop up, with the in kernel implementation. So since supporting something that no one uses is silly, deprecate sys_sysctl with a sufficient grace period and notice that the handful of user space applications that care can be fixed or replaced. The /proc/sys sysctl interface that people use will continue to be supported indefinitely. This patch moves the tested warning about sysctls from the path where sys_sysctl to a separate path called from both implementations of sys_sysctl, and it adds a proper entry into Documentation/feature-removal-schedule. Allowing us to revisit this in a couple years time and actually kill sys_sysctl. [[email protected]: sysctl: Fix syscall disabled build] Signed-off-by: Eric W. Biederman <[email protected]> Signed-off-by: Paul Mundt <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
- Loading branch information
Showing
2 changed files
with
76 additions
and
23 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -82,6 +82,41 @@ Who: Dominik Brodowski <[email protected]> | |
|
||
--------------------------- | ||
|
||
What: sys_sysctl | ||
When: September 2010 | ||
Option: CONFIG_SYSCTL_SYSCALL | ||
Why: The same information is available in a more convenient from | ||
/proc/sys, and none of the sysctl variables appear to be | ||
important performance wise. | ||
|
||
Binary sysctls are a long standing source of subtle kernel | ||
bugs and security issues. | ||
|
||
When I looked several months ago all I could find after | ||
searching several distributions were 5 user space programs and | ||
glibc (which falls back to /proc/sys) using this syscall. | ||
|
||
The man page for sysctl(2) documents it as unusable for user | ||
space programs. | ||
|
||
sysctl(2) is not generally ABI compatible to a 32bit user | ||
space application on a 64bit and a 32bit kernel. | ||
|
||
For the last several months the policy has been no new binary | ||
sysctls and no one has put forward an argument to use them. | ||
|
||
Binary sysctls issues seem to keep happening appearing so | ||
properly deprecating them (with a warning to user space) and a | ||
2 year grace warning period will mean eventually we can kill | ||
them and end the pain. | ||
|
||
In the mean time individual binary sysctls can be dealt with | ||
in a piecewise fashion. | ||
|
||
Who: Eric Biederman <[email protected]> | ||
|
||
--------------------------- | ||
|
||
What: a.out interpreter support for ELF executables | ||
When: 2.6.25 | ||
Files: fs/binfmt_elf.c | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters