mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 06:12:08 +00:00
sysfs: make __sysfs_add_one() fail if the parent isn't a directory
Currently the kobject based interface guarantees that a parent sysfs_dirent is always a directory; however, the planned kernfs interface will be directly based on sysfs_dirents and the caller may specify non-directory node as the parent. Add an explicit check in __sysfs_add_one() so that such attempts fail with -EINVAL. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
c84a3b2779
commit
ae2108ad32
@ -429,6 +429,9 @@ int __sysfs_add_one(struct sysfs_addrm_cxt *acxt, struct sysfs_dirent *sd,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (sysfs_type(parent_sd) != SYSFS_DIR)
|
||||
return -EINVAL;
|
||||
|
||||
sd->s_hash = sysfs_name_hash(sd->s_name, sd->s_ns);
|
||||
sd->s_parent = sysfs_get(parent_sd);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user