• Linus Torvalds's avatar
    Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl · f1d38e42
    Linus Torvalds authored
    Pull sysctl updates from Eric Biederman:
    
     - Rewrite of sysctl for speed and clarity.
    
       Insert/remove/Lookup in sysctl are all now O(NlogN) operations, and
       are no longer bottlenecks in the process of adding and removing
       network devices.
    
       sysctl is now focused on being a filesystem instead of system call
       and the code can all be found in fs/proc/proc_sysctl.c.  Hopefully
       this means the code is now approachable.
    
       Much thanks is owed to Lucian Grinjincu for keeping at this until
       something was found that was usable.
    
     - The recent proc_sys_poll oops found by the fuzzer during hibernation
       is fixed.
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/sysctl: (36 commits)
      sysctl: protect poll() in entries that may go away
      sysctl: Don't call sysctl_follow_link unless we are a link.
      sysctl: Comments to make the code clearer.
      sysctl: Correct error return from get_subdir
      sysctl: An easier to read version of find_subdir
      sysctl: fix memset parameters in setup_sysctl_set()
      sysctl: remove an unused variable
      sysctl: Add register_sysctl for normal sysctl users
      sysctl: Index sysctl directories with rbtrees.
      sysctl: Make the header lists per directory.
      sysctl: Move sysctl_check_dups into insert_header
      sysctl: Modify __register_sysctl_paths to take a set instead of a root and an nsproxy
      sysctl: Replace root_list with links between sysctl_table_sets.
      sysctl: Add sysctl_print_dir and use it in get_subdir
      sysctl: Stop requiring explicit management of sysctl directories
      sysctl: Add a root pointer to ctl_table_set
      sysctl: Rewrite proc_sys_readdir in terms of first_entry and next_entry
      sysctl: Rewrite proc_sys_lookup introducing find_entry and lookup_entry.
      sysctl: Normalize the root_table data structure.
      sysctl: Factor out insert_header and erase_header
      ...
    f1d38e42
proc_sysctl.c 39 KB