]> git.baikalelectronics.ru Git - kernel.git/commit
sysfs: kill an extra put in sysfs_create_link() failure path
authorTejun Heo <htejun@gmail.com>
Wed, 18 Jul 2007 07:14:45 +0000 (16:14 +0900)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 18 Jul 2007 22:49:50 +0000 (15:49 -0700)
commitc447ff3141841d56961ca416deb58518a7f8c802
tree6e24647ff074d564d55bfdbf811d413e6d5bfab9
parent21b58c3b6b47c8a39b23d0877e707445c00685fd
sysfs: kill an extra put in sysfs_create_link() failure path

There is a subtle bug in sysfs_create_link() failure path.  When
symlink creation fails because there's already a node with the same
name, the target sysfs_dirent is put twice - once by failure path of
sysfs_create_link() and once more when the symlink is released.

Fix it by making only the symlink node responsible for putting
target_sd.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Gabriel C <nix.or.die@googlemail.com>
Cc: Miles Lane <miles.lane@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/sysfs/symlink.c