->permission() sanitizing: don't pass flags to generic_permission()
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 20 Jun 2011 23:16:29 +0000 (19:16 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 20 Jul 2011 05:43:22 +0000 (01:43 -0400)
redundant; all callers get it duplicated in mask & MAY_NOT_BLOCK and none of
them removes that bit.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
16 files changed:
fs/afs/security.c
fs/btrfs/inode.c
fs/ceph/inode.c
fs/cifs/cifsfs.c
fs/fuse/dir.c
fs/gfs2/inode.c
fs/hostfs/hostfs_kern.c
fs/hpfs/namei.c
fs/namei.c
fs/nfs/dir.c
fs/nilfs2/inode.c
fs/ocfs2/file.c
fs/proc/base.c
fs/reiserfs/xattr.c
fs/sysfs/inode.c
include/linux/fs.h

index 745ee654165f90d95219483b6d4186bebd47f03b..ab6b3147f05facc7f047066ba0abf6da825b9428 100644 (file)
@@ -350,7 +350,7 @@ int afs_permission(struct inode *inode, int mask, unsigned int flags)
        }
 
        key_put(key);
-       ret = generic_permission(inode, mask, flags);
+       ret = generic_permission(inode, mask);
        _leave(" = %d", ret);
        return ret;
 
index f0bd873715666e2c2ca287eb87fd8861ee2febff..b61b0477a8ac39b13db65b75c00724794e7a3a5c 100644 (file)
@@ -7339,7 +7339,7 @@ static int btrfs_permission(struct inode *inode, int mask, unsigned int flags)
                return -EROFS;
        if ((BTRFS_I(inode)->flags & BTRFS_INODE_READONLY) && (mask & MAY_WRITE))
                return -EACCES;
-       return generic_permission(inode, mask, flags);
+       return generic_permission(inode, mask);
 }
 
 static const struct inode_operations btrfs_dir_inode_operations = {
index beb5d55d6fd23c56c7db5c20d65d1af860b0891c..9c169741b416856bff46442596e0d465878a5c74 100644 (file)
@@ -1805,7 +1805,7 @@ int ceph_permission(struct inode *inode, int mask, unsigned int flags)
        err = ceph_do_getattr(inode, CEPH_CAP_AUTH_SHARED);
 
        if (!err)
-               err = generic_permission(inode, mask, flags);
+               err = generic_permission(inode, mask);
        return err;
 }
 
index b79804fa410fa3ee0772e730441e828c62499222..b285b5bcf7119cdc05dfff4fe241f44e5bdf4bf6 100644 (file)
@@ -239,7 +239,7 @@ static int cifs_permission(struct inode *inode, int mask, unsigned int flags)
                on the client (above and beyond ACL on servers) for
                servers which do not support setting and viewing mode bits,
                so allowing client to check permissions is useful */
-               return generic_permission(inode, mask, flags);
+               return generic_permission(inode, mask);
 }
 
 static struct kmem_cache *cifs_inode_cachep;
index 0a2fcd860ad659fd8393f93a12de52daf650681a..0df56b6c26e2592bff3d81e708f887d2ccfaba38 100644 (file)
@@ -1018,7 +1018,7 @@ static int fuse_permission(struct inode *inode, int mask, unsigned int flags)
        }
 
        if (fc->flags & FUSE_DEFAULT_PERMISSIONS) {
-               err = generic_permission(inode, mask, flags);
+               err = generic_permission(inode, mask);
 
                /* If permission is denied, try to refresh file
                   attributes.  This is also needed, because the root
@@ -1026,8 +1026,7 @@ static int fuse_permission(struct inode *inode, int mask, unsigned int flags)
                if (err == -EACCES && !refreshed) {
                        err = fuse_perm_getattr(inode, flags);
                        if (!err)
-                               err = generic_permission(inode, mask,
-                                                       flags);
+                               err = generic_permission(inode, mask);
                }
 
                /* Note: the opposite of the above test does not
index d5f0f4ea25dc63c112220982e3435d883a606a15..b776ec8f9c19193b0556024ba94996b61e39fd64 100644 (file)
@@ -1564,7 +1564,7 @@ int gfs2_permission(struct inode *inode, int mask, unsigned int flags)
        if ((mask & MAY_WRITE) && IS_IMMUTABLE(inode))
                error = -EACCES;
        else
-               error = generic_permission(inode, mask, flags);
+               error = generic_permission(inode, mask);
        if (unlock)
                gfs2_glock_dq_uninit(&i_gh);
 
index a98d0d1aef653377fc4ce8b4bbe0d2b853f1cf38..b1bc31bde8335eaacf52adbbb2cbd726d8f79f4a 100644 (file)
@@ -770,7 +770,7 @@ int hostfs_permission(struct inode *ino, int desired, unsigned int flags)
                err = access_file(name, r, w, x);
        __putname(name);
        if (!err)
-               err = generic_permission(ino, desired, flags);
+               err = generic_permission(ino, desired);
        return err;
 }
 
index bd2ce7dd8df3d2b21e124d68a4bb387ea2347674..2df69e2f07cf3ab68851241ae9681c177f051c32 100644 (file)
@@ -398,7 +398,7 @@ again:
                        hpfs_unlock(dir->i_sb);
                        return -ENOSPC;
                }
-               if (generic_permission(inode, MAY_WRITE, 0) ||
+               if (generic_permission(inode, MAY_WRITE) ||
                    !S_ISREG(inode->i_mode) ||
                    get_write_access(inode)) {
                        d_rehash(dentry);
index 560fd1dff1d073594a227cd9be75333070c9c2e7..684e0f30cf4cfcb1b5f3285e0bfa5de4146046ad 100644 (file)
@@ -224,7 +224,7 @@ other_perms:
  * request cannot be satisfied (eg. requires blocking or too much complexity).
  * It would then be called again in ref-walk mode.
  */
-int generic_permission(struct inode *inode, int mask, unsigned int flags)
+int generic_permission(struct inode *inode, int mask)
 {
        int ret;
 
@@ -289,7 +289,7 @@ int inode_permission(struct inode *inode, int mask)
        if (inode->i_op->permission)
                retval = inode->i_op->permission(inode, mask, 0);
        else
-               retval = generic_permission(inode, mask, 0);
+               retval = generic_permission(inode, mask);
 
        if (retval)
                return retval;
index 0485dca34fb10b058c70989d15aaf51f348d9fc7..16cf84b4afb9968e1f92e82d75e6adea61b6b123 100644 (file)
@@ -2328,7 +2328,7 @@ out:
 out_notsup:
        res = nfs_revalidate_inode(NFS_SERVER(inode), inode);
        if (res == 0)
-               res = generic_permission(inode, mask, flags);
+               res = generic_permission(inode, mask);
        goto out;
 }
 
index 650aa7755003f050c29d48677367acfcf7dff6c9..0df6de58bbcb1699a168ec2e5b68b88301b6b57d 100644 (file)
@@ -806,7 +806,7 @@ int nilfs_permission(struct inode *inode, int mask, unsigned int flags)
            root->cno != NILFS_CPTREE_CURRENT_CNO)
                return -EROFS; /* snapshot is not writable */
 
-       return generic_permission(inode, mask, flags);
+       return generic_permission(inode, mask);
 }
 
 int nilfs_load_inode_block(struct inode *inode, struct buffer_head **pbh)
index d058cb7e12d4c0e0856ac59706f8be9ef68a32f5..ecb52b028964dd80ff699ff5cadf584c6a575c5d 100644 (file)
@@ -1293,7 +1293,7 @@ int ocfs2_permission(struct inode *inode, int mask, unsigned int flags)
                goto out;
        }
 
-       ret = generic_permission(inode, mask, flags);
+       ret = generic_permission(inode, mask);
 
        ocfs2_inode_unlock(inode, 0);
 out:
index 8b84701135763b69a1f94873a549dd80156e824f..53a1a961b25f52bea64b7c59f3863f6e42760c5d 100644 (file)
@@ -2169,7 +2169,7 @@ static const struct file_operations proc_fd_operations = {
  */
 static int proc_fd_permission(struct inode *inode, int mask, unsigned int flags)
 {
-       int rv = generic_permission(inode, mask, flags);
+       int rv = generic_permission(inode, mask);
        if (rv == 0)
                return 0;
        if (task_pid(current) == proc_pid(inode))
index 6ee3c11aa8d9c91ea8aec4b8de9f53399f675ff6..f17319613a85ed6fe9eceb40081e6bead54d1a5e 100644 (file)
@@ -967,7 +967,7 @@ int reiserfs_permission(struct inode *inode, int mask, unsigned int flags)
        if (IS_PRIVATE(inode))
                return 0;
 
-       return generic_permission(inode, mask, flags);
+       return generic_permission(inode, mask);
 }
 
 static int xattr_hide_revalidate(struct dentry *dentry, struct nameidata *nd)
index a37165c64757c5e0ed219815db8791af74ea3eaf..04c81e5ba6f7265681dade7926ab1684afdc46d9 100644 (file)
@@ -362,5 +362,5 @@ int sysfs_permission(struct inode *inode, int mask, unsigned int flags)
        sysfs_refresh_inode(sd, inode);
        mutex_unlock(&sysfs_mutex);
 
-       return generic_permission(inode, mask, flags);
+       return generic_permission(inode, mask);
 }
index f218b42718aae8056928055257a7dd8690b52f1b..a1689c13eb774c5920d07eac3ed310a9bef84d01 100644 (file)
@@ -2188,7 +2188,7 @@ extern sector_t bmap(struct inode *, sector_t);
 #endif
 extern int notify_change(struct dentry *, struct iattr *);
 extern int inode_permission(struct inode *, int);
-extern int generic_permission(struct inode *, int, unsigned int);
+extern int generic_permission(struct inode *, int);
 
 static inline bool execute_ok(struct inode *inode)
 {