From: Steven Rostedt Date: Wed, 23 Nov 2005 14:15:44 +0000 (-0500) Subject: [PATCH] sysfs: handle failures in sysfs_make_dirent X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=e80a5dea8e056d8f398be1900d61c581d379f02f;p=openwrt%2Fstaging%2Fblogic.git [PATCH] sysfs: handle failures in sysfs_make_dirent I noticed that if sysfs_make_dirent fails to allocate the sd, then a null will be passed to sysfs_put. Signed-off-by: Steven Rostedt Signed-off-by: Greg Kroah-Hartman --- diff --git a/fs/sysfs/dir.c b/fs/sysfs/dir.c index 59734ba1ee60..d36780382176 100644 --- a/fs/sysfs/dir.c +++ b/fs/sysfs/dir.c @@ -112,7 +112,11 @@ static int create_dir(struct kobject * k, struct dentry * p, } } if (error && (error != -EEXIST)) { - sysfs_put((*d)->d_fsdata); + struct sysfs_dirent *sd = (*d)->d_fsdata; + if (sd) { + list_del_init(&sd->s_sibling); + sysfs_put(sd); + } d_drop(*d); } dput(*d);