提交 e80a5dea 编写于 作者: S Steven Rostedt 提交者: Greg Kroah-Hartman

[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: NSteven Rostedt <rostedt@goodmis.org>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 8218ef80
...@@ -112,7 +112,11 @@ static int create_dir(struct kobject * k, struct dentry * p, ...@@ -112,7 +112,11 @@ static int create_dir(struct kobject * k, struct dentry * p,
} }
} }
if (error && (error != -EEXIST)) { 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); d_drop(*d);
} }
dput(*d); dput(*d);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册