• Tejun Heo's avatar
    sysfs: reimplement symlink using sysfs_dirent tree · 2b29ac25
    Tejun Heo authored
    sysfs symlink is implemented by referencing dentry and kobject from
    sysfs_dirent - symlink entry references kobject, dentry is used to
    walk the tree.  This complicates object lifetimes rules and is
    dangerous - for example, there is no way to tell to which module the
    target of a symlink belongs and referencing that kobject can make it
    linger after the module is gone.
    
    This patch reimplements symlink using only sysfs_dirent tree.  sd for
    a symlink points and holds reference to the target sysfs_dirent and
    all walking is done using sysfs_dirent tree.  Simpler and safer.
    
    Please read the following message for more info.
    
      http://article.gmane.org/gmane.linux.kernel/510293Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
    2b29ac25
symlink.c 4.13 KB