sysctl: Remove CTL_NONE and CTL_UNNUMBERED
Now that the sysctl structures no longer have a ctl_name field there is no reason to retain the definitions for CTL_NONE and CTL_UNNUMBERED, or to explain their historic usage. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
This commit is contained in:
Родитель
60a0a52df1
Коммит
86926d0096
|
@ -1,22 +0,0 @@
|
||||||
|
|
||||||
Except for a few extremely rare exceptions user space applications do not use
|
|
||||||
the binary sysctl interface. Instead everyone uses /proc/sys/... with
|
|
||||||
readable ascii names.
|
|
||||||
|
|
||||||
Recently the kernel has started supporting setting the binary sysctl value to
|
|
||||||
CTL_UNNUMBERED so we no longer need to assign a binary sysctl path to allow
|
|
||||||
sysctls to show up in /proc/sys.
|
|
||||||
|
|
||||||
Assigning binary sysctl numbers is an endless source of conflicts in sysctl.h,
|
|
||||||
breaking of the user space ABI (because of those conflicts), and maintenance
|
|
||||||
problems. A complete pass through all of the sysctl users revealed multiple
|
|
||||||
instances where the sysctl binary interface was broken and had gone undetected
|
|
||||||
for years.
|
|
||||||
|
|
||||||
So please do not add new binary sysctl numbers. They are unneeded and
|
|
||||||
problematic.
|
|
||||||
|
|
||||||
If you really need a new binary sysctl number please first merge your sysctl
|
|
||||||
into the kernel and then as a separate patch allocate a binary sysctl number.
|
|
||||||
|
|
||||||
(ebiederm@xmission.com, June 2007)
|
|
|
@ -15,9 +15,6 @@
|
||||||
** The kernel will then return -ENOTDIR to any application using
|
** The kernel will then return -ENOTDIR to any application using
|
||||||
** the old binary interface.
|
** the old binary interface.
|
||||||
**
|
**
|
||||||
** For new interfaces unless you really need a binary number
|
|
||||||
** please use CTL_UNNUMBERED.
|
|
||||||
**
|
|
||||||
****************************************************************
|
****************************************************************
|
||||||
****************************************************************
|
****************************************************************
|
||||||
*/
|
*/
|
||||||
|
@ -50,12 +47,6 @@ struct __sysctl_args {
|
||||||
|
|
||||||
/* Top-level names: */
|
/* Top-level names: */
|
||||||
|
|
||||||
/* For internal pattern-matching use only: */
|
|
||||||
#ifdef __KERNEL__
|
|
||||||
#define CTL_NONE 0
|
|
||||||
#define CTL_UNNUMBERED CTL_NONE /* sysctl without a binary number */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
CTL_KERN=1, /* General kernel info and control */
|
CTL_KERN=1, /* General kernel info and control */
|
||||||
|
|
Загрузка…
Ссылка в новой задаче