1. 11 Nov, 2009 3 commits
    • Eric W. Biederman's avatar
      sysctl: Remove dead code from sysctl_check · 83ac201b
      Eric W. Biederman authored
      Now that the sys_sysctl is now a compatibility wrapper around
      /proc/sys we can remove much of sysctl_check and reduce it
      to a few remaining sanity checks.  This completely decouples
      it from the binary sysctl system call.
      
      Little things like ensuring that the sysctl has not already
      been registered are all that remain.
      Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
      83ac201b
    • Eric W. Biederman's avatar
      sysctl: Neuter the generic sysctl strategy routines. · a965cf94
      Eric W. Biederman authored
      Now that sys_sysctl is a compatibility layer on top of /proc/sys
      these routines are never called but are still put in sysctl
      tables so I have reduced them to stubs until they can be
      removed entirely.
      Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
      a965cf94
    • Eric W. Biederman's avatar
      sysctl: Reduce sys_sysctl to a compatibility wrapper around /proc/sys · 26a7034b
      Eric W. Biederman authored
      To simply maintenance and to be able to remove all of the binary
      sysctl support from various subsystems I have rewritten the binary
      sysctl code as a compatibility wrapper around proc/sys.
      
      The code is built around a hard coded table based on the table
      in sysctl_check.c that lists all of our current binary sysctls
      and provides enough information to convert from the sysctl
      binary input into into ascii and back again.  New in this
      patch is the realization that the only dynamic entries
      that need to be handled have ifname as the asscii string
      and ifindex as their ctl_name.
      
      When a sys_sysctl is called the code now looks in the
      translation table converting the binary name to the
      path under /proc where the value is to be found.  Opens
      that file, and calls into a format conversion wrapper
      that calls fop->read and then fop->write as appropriate.
      
      Since in practice the practically no one uses or tests
      sys_sysctl rewritting the code to be beautiful is a little
      silly.  The redeeming merit of this work is it allows us to
      rip out all of the binary sysctl syscall support from
      everywhere else in the tree.  Allowing us to remove
      a lot of dead (after this patch) and barely maintained code.
      
      In addition it becomes much easier to optimize the sysctl
      implementation for being the backing store of /proc/sys,
      without having to worry about sys_sysctl.
      Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
      26a7034b
  2. 06 Nov, 2009 11 commits
  3. 03 Nov, 2009 26 commits