gfs2: remove unnecessary permission checks
PATCH 1/1 gfs2: remove unnecessary permission checks
Remove read/write permission() checks from xattr operations. VFS layer is already handling permission for xattrs via the xattr_permission() call, so there is no need for gfs2 to check permissions. Futhermore, using permission() for SELinux xattrs ops is incorrect.
--- fs/gfs2/eaops.c | 30 ------------------------------ 1 files changed, 0 insertions(+), 30 deletions(-)
fs/gfs2/eaops.c +0 -30
@@ -59,9 +59,6 @@ unsigned int gfs2_ea_name2type(const char *name, const char **truncated_name)static int user_eo_get (struct gfs2_inode *ip,struct gfs2_ea_request *er) {struct inode *inode = &ip->i_inode; -int error =permission (inode,MAY_READ ,NULL ); -if (error) -return error;return gfs2_ea_get_i (ip, er); }
@@ -70,14 +67,6 @@ static int user_eo_set(struct gfs2_inode *ip, struct gfs2_ea_request *er) {struct inode *inode = &ip->i_inode; -if (S_ISREG (inode->i_mode) || - (S_ISDIR (inode->i_mode) && !(inode->i_mode &S_ISVTX ))) { -int error =permission (inode,MAY_WRITE ,NULL ); -if (error) -return error; - }else -return -EPERM ; -return gfs2_ea_set_i (ip, er); }
@@ -85,14 +74,6 @@ static int user_eo_remove(struct gfs2_inode *ip, struct gfs2_ea_request *er) {struct inode *inode = &ip->i_inode; -if (S_ISREG (inode->i_mode) || - (S_ISDIR (inode->i_mode) && !(inode->i_mode &S_ISVTX ))) { -int error =permission (inode,MAY_WRITE ,NULL ); -if (error) -return error; - }else -return -EPERM ; -return gfs2_ea_remove_i (ip, er); }
@@ -108,8 +89,6 @@ static int system_eo_get(struct gfs2_inode *ip, struct gfs2_ea_request *er) GFS2_ACL_IS_DEFAULT(er->er_name, er->er_name_len))) return -EOPNOTSUPP; - -return gfs2_ea_get_i (ip, er); }
@@ -173,9 +152,6 @@ static int system_eo_remove(struct gfs2_inode *ip, struct gfs2_ea_request *er)static int security_eo_get (struct gfs2_inode *ip,struct gfs2_ea_request *er) {struct inode *inode = &ip->i_inode; -int error =permission (inode,MAY_READ ,NULL ); -if (error) -return error;return gfs2_ea_get_i (ip, er); }
@@ -183,9 +159,6 @@ static int security_eo_get(struct gfs2_inode *ip, struct gfs2_ea_request *er)static int security_eo_set (struct gfs2_inode *ip,struct gfs2_ea_request *er) {struct inode *inode = &ip->i_inode; -int error =permission (inode,MAY_WRITE ,NULL ); -if (error) -return error;return gfs2_ea_set_i (ip, er); }
@@ -193,9 +166,6 @@ static int security_eo_set(struct gfs2_inode *ip, struct gfs2_ea_request *er)static int security_eo_remove (struct gfs2_inode *ip,struct gfs2_ea_request *er) {struct inode *inode = &ip->i_inode; -int error =permission (inode,MAY_WRITE ,NULL ); -if (error) -return error;return gfs2_ea_remove_i (ip, er); }
Signature · 1 line
1.5.0.6
PATCH 1/1 gfs2: remove unnecessary permission checks
Hi,
Now in the -nmw git tree. Thanks,
Steve.
Quoted 92 lines · Ryan O'Hara
Remove read/write
permission()checks from xattr operations. VFS layer is already handling permission for xattrs via thexattr_permission()call, so there is no need for gfs2 to check permissions. Futhermore, usingpermission()for SELinux xattrs ops is incorrect.--- fs/gfs2/eaops.c | 30 ------------------------------ 1 files changed, 0 insertions(+), 30 deletions(-)fs/gfs2/eaops.c +0
-30@@ -59,9 +59,6 @@ unsigned int gfs2_ea_name2type(const char *name, const char **truncated_name)static int user_eo_get (struct gfs2_inode *ip,struct gfs2_ea_request *er) {struct inode *inode = &ip->i_inode; -int error =permission (inode,MAY_READ ,NULL ); -if (error) -return error;return gfs2_ea_get_i (ip, er); }@@ -70,14 +67,6 @@ static int user_eo_set(struct gfs2_inode *ip, struct gfs2_ea_request *er) {struct inode *inode = &ip->i_inode; -if (S_ISREG (inode->i_mode) || - (S_ISDIR (inode->i_mode) && !(inode->i_mode &S_ISVTX ))) { -int error =permission (inode,MAY_WRITE ,NULL ); -if (error) -return error; - }else -return -EPERM ; -return gfs2_ea_set_i (ip, er); }@@ -85,14 +74,6 @@ static int user_eo_remove(struct gfs2_inode *ip, struct gfs2_ea_request *er) {struct inode *inode = &ip->i_inode; -if (S_ISREG (inode->i_mode) || - (S_ISDIR (inode->i_mode) && !(inode->i_mode &S_ISVTX ))) { -int error =permission (inode,MAY_WRITE ,NULL ); -if (error) -return error; - }else -return -EPERM ; -return gfs2_ea_remove_i (ip, er); }@@ -108,8 +89,6 @@ static int system_eo_get(struct gfs2_inode *ip, struct gfs2_ea_request *er) GFS2_ACL_IS_DEFAULT(er->er_name, er->er_name_len))) return -EOPNOTSUPP; - -return gfs2_ea_get_i (ip, er); }@@ -173,9 +152,6 @@ static int system_eo_remove(struct gfs2_inode *ip, struct gfs2_ea_request *er)static int security_eo_get (struct gfs2_inode *ip,struct gfs2_ea_request *er) {struct inode *inode = &ip->i_inode; -int error =permission (inode,MAY_READ ,NULL ); -if (error) -return error;return gfs2_ea_get_i (ip, er); }@@ -183,9 +159,6 @@ static int security_eo_get(struct gfs2_inode *ip, struct gfs2_ea_request *er)static int security_eo_set (struct gfs2_inode *ip,struct gfs2_ea_request *er) {struct inode *inode = &ip->i_inode; -int error =permission (inode,MAY_WRITE ,NULL ); -if (error) -return error;return gfs2_ea_set_i (ip, er); }@@ -193,9 +166,6 @@ static int security_eo_set(struct gfs2_inode *ip, struct gfs2_ea_request *er)static int security_eo_remove (struct gfs2_inode *ip,struct gfs2_ea_request *er) {struct inode *inode = &ip->i_inode; -int error =permission (inode,MAY_WRITE ,NULL ); -if (error) -return error;return gfs2_ea_remove_i (ip, er); }
Hi Steven,
Quoted 7 lines · Steven Whitehouse
Hi,
Now in the -nmw git tree. Thanks,
Steve.
On Wed, 2007-11-21 at 11:54 -0600, Ryan O'Hara wrote:
this patch introduces a bunch of build warnings by leaving around
struct inode *inode = &ip->i_inode;
The patch in attachment cleans them up. Please apply.
Thanks
Fabio
Signature · 8 lines
I'm going to make him an offer he can't refuse. -------------- next part -------------- A non-text attachment was scrubbed... Name: eaops_build_warning.diff Type: application/pgp-encrypted Size: 1278 bytes Desc: not available URL: <http://listman.redhat.com/archives/cluster-devel/attachments/20071127/fcf8d0f9/attachment.pgp>
Hi,
Now applied to the -nmw git tree. Thanks,
Steve.
Quoted 20 lines · Fabio Massimo Di Nitto
Hi Steven,
Quoted 7 lines · Steven Whitehouse
Hi,
Now in the -nmw git tree. Thanks,
Steve.
On Wed, 2007-11-21 at 11:54 -0600, Ryan O'Hara wrote:
this patch introduces a bunch of build warnings by leaving around
struct inode *inode =
&ip->i_inode;The patch in attachment cleans them up. Please apply.
Thanks
Fabio