diff options
author | Eric W. Biederman <ebiederm@maxwell.aristanetworks.com> | 2009-11-20 19:08:58 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-12-11 14:24:54 -0500 |
commit | e16acb503b42ef241a9396de7c5a1614c74d8ca6 (patch) | |
tree | 369ea0ff38ffc59858f1fc0343885ddcb7df4e1f /fs/sysfs/inode.c | |
parent | ca1bab38195d66bdf42320a99cc7359434a271d3 (diff) |
sysfs: sysfs_setattr remove unnecessary permission check.
inode_change_ok already clears the SGID bit when necessary
so there is no reason for sysfs_setattr to carry code to do
the same, and it is good to kill the extra copy because when
I moved the code last in certain corner cases the code will
look at the wrong gid.
Acked-by: Serge Hallyn <serue@us.ibm.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Eric W. Biederman <ebiederm@aristanetworks.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'fs/sysfs/inode.c')
-rw-r--r-- | fs/sysfs/inode.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/fs/sysfs/inode.c b/fs/sysfs/inode.c index 9f783d4e4b51..220b758523ae 100644 --- a/fs/sysfs/inode.c +++ b/fs/sysfs/inode.c | |||
@@ -117,10 +117,6 @@ int sysfs_setattr(struct dentry *dentry, struct iattr *iattr) | |||
117 | return error; | 117 | return error; |
118 | 118 | ||
119 | iattr->ia_valid &= ~ATTR_SIZE; /* ignore size changes */ | 119 | iattr->ia_valid &= ~ATTR_SIZE; /* ignore size changes */ |
120 | if (iattr->ia_valid & ATTR_MODE) { | ||
121 | if (!in_group_p(inode->i_gid) && !capable(CAP_FSETID)) | ||
122 | iattr->ia_mode &= ~S_ISGID; | ||
123 | } | ||
124 | 120 | ||
125 | error = inode_setattr(inode, iattr); | 121 | error = inode_setattr(inode, iattr); |
126 | if (error) | 122 | if (error) |