• Al Viro's avatar
    [PATCH] sanitize proc_sysctl · 9043476f
    Al Viro authored
    * keep references to ctl_table_head and ctl_table in /proc/sys inodes
    * grab the former during operations, use the latter for access to
      entry if that succeeds
    * have ->d_compare() check if table should be seen for one who does lookup;
      that allows us to avoid flipping inodes - if we have the same name resolve
      to different things, we'll just keep several dentries and ->d_compare()
      will reject the wrong ones.
    * have ->lookup() and ->readdir() scan the table of our inode first, then
      walk all ctl_table_header and scan ->attached_by for those that are
      attached to our directory.
    * implement ->getattr().
    * get rid of insane amounts of tree-walking
    * get rid of the need to know dentry in ->permission() and of the contortions
      induced by that.
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    9043476f
sysctl.c 70.9 KB