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:
Eric W. Biederman 2009-11-16 02:40:01 -08:00
Родитель 60a0a52df1
Коммит 86926d0096
2 изменённых файлов: 0 добавлений и 31 удалений

Просмотреть файл

@ -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 */