diff --git a/[refs] b/[refs] index 79ff3fb0d949..5c1e12a1b583 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8218ef80932aa7e5e3d20c929a640c8d82133a9a +refs/heads/master: e80a5dea8e056d8f398be1900d61c581d379f02f diff --git a/trunk/fs/sysfs/dir.c b/trunk/fs/sysfs/dir.c index 59734ba1ee60..d36780382176 100644 --- a/trunk/fs/sysfs/dir.c +++ b/trunk/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);