Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Cluster Development (http://www.linux-archive.org/cluster-development/)
-   -   gfs2: remove unnecessary permission checks (http://www.linux-archive.org/cluster-development/5423-gfs2-remove-unnecessary-permission-checks.html)

Steven Whitehouse 11-26-2007 02:17 PM

gfs2: remove unnecessary permission checks
 
Hi,

Now in the -nmw git tree. Thanks,

Steve.

On Wed, 2007-11-21 at 11:54 -0600, Ryan O'Hara wrote:
> 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(-)
>
> diff --git a/fs/gfs2/eaops.c b/fs/gfs2/eaops.c
> index aa8dbf3..ef91b6e 100644
> --- a/fs/gfs2/eaops.c
> +++ b/fs/gfs2/eaops.c
> @@ -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);
> }


All times are GMT. The time now is 12:15 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.