sysfs: Only take active references on attributes.
If we exclude directories and symlinks from the set of sysfs dirents where we need active references we are left with sysfs attributes (binary or not). - Tweak sysfs_deactivate to only do something on attributes - Move lockdep initialization into sysfs_file_add_mode to limit it to just attributes. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Acked-by: WANG Cong <xiyou.wangcong@gmail.com> Cc: Tejun Heo <tj@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e72ceb8cca
commit
a2db684287
@@ -509,6 +509,7 @@ int sysfs_add_file_mode(struct sysfs_dirent *dir_sd,
|
||||
if (!sd)
|
||||
return -ENOMEM;
|
||||
sd->s_attr.attr = (void *)attr;
|
||||
sysfs_dirent_init_lockdep(sd);
|
||||
|
||||
sysfs_addrm_start(&acxt, dir_sd);
|
||||
rc = sysfs_add_one(&acxt, sd);
|
||||
|
Reference in New Issue
Block a user