->permission() sanitizing: don't pass flags to ->permission()
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 20 Jun 2011 23:28:19 +0000 (19:28 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Wed, 20 Jul 2011 05:43:24 +0000 (01:43 -0400)
not used by the instances anymore.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
31 files changed:
Documentation/filesystems/vfs.txt
fs/afs/internal.h
fs/afs/security.c
fs/bad_inode.c
fs/btrfs/inode.c
fs/ceph/inode.c
fs/ceph/super.h
fs/cifs/cifsfs.c
fs/coda/coda_linux.h
fs/coda/dir.c
fs/coda/pioctl.c
fs/ecryptfs/inode.c
fs/fuse/dir.c
fs/gfs2/file.c
fs/gfs2/inode.c
fs/gfs2/inode.h
fs/hostfs/hostfs_kern.c
fs/namei.c
fs/nfs/dir.c
fs/nilfs2/inode.c
fs/nilfs2/nilfs.h
fs/ocfs2/file.c
fs/ocfs2/file.h
fs/proc/base.c
fs/proc/proc_sysctl.c
fs/reiserfs/xattr.c
fs/sysfs/inode.c
fs/sysfs/sysfs.h
include/linux/fs.h
include/linux/nfs_fs.h
include/linux/reiserfs_xattr.h

index 8b4c8e04d87979181d21952f62a784b17e527f00..d56151fe77dc773a9120dfce4f95735de04b78fa 100644 (file)
@@ -333,7 +333,7 @@ struct inode_operations {
         void * (*follow_link) (struct dentry *, struct nameidata *);
         void (*put_link) (struct dentry *, struct nameidata *, void *);
        void (*truncate) (struct inode *);
-       int (*permission) (struct inode *, int, unsigned int);
+       int (*permission) (struct inode *, int);
        int (*check_acl)(struct inode *, int);
        int (*setattr) (struct dentry *, struct iattr *);
        int (*getattr) (struct vfsmount *mnt, struct dentry *, struct kstat *);
@@ -423,7 +423,7 @@ otherwise noted.
   permission: called by the VFS to check for access rights on a POSIX-like
        filesystem.
 
-       May be called in rcu-walk mode (flags & IPERM_FLAG_RCU). If in rcu-walk
+       May be called in rcu-walk mode (mask & MAY_NOT_BLOCK). If in rcu-walk
         mode, the filesystem must check the permission without blocking or
        storing to the inode.
 
index 5a9b6843bac1103056161b11def45db9463bc404..f396d337b8171865fb16c5a17cad96633c0e71bc 100644 (file)
@@ -627,7 +627,7 @@ extern void afs_clear_permits(struct afs_vnode *);
 extern void afs_cache_permit(struct afs_vnode *, struct key *, long);
 extern void afs_zap_permits(struct rcu_head *);
 extern struct key *afs_request_key(struct afs_cell *);
-extern int afs_permission(struct inode *, int, unsigned int);
+extern int afs_permission(struct inode *, int);
 
 /*
  * server.c
index ab6b3147f05facc7f047066ba0abf6da825b9428..8d010422dc8962b72fb3af64f75fdedb8e892cc0 100644 (file)
@@ -285,14 +285,14 @@ static int afs_check_permit(struct afs_vnode *vnode, struct key *key,
  * - AFS ACLs are attached to directories only, and a file is controlled by its
  *   parent directory's ACL
  */
-int afs_permission(struct inode *inode, int mask, unsigned int flags)
+int afs_permission(struct inode *inode, int mask)
 {
        struct afs_vnode *vnode = AFS_FS_I(inode);
        afs_access_t uninitialized_var(access);
        struct key *key;
        int ret;
 
-       if (flags & IPERM_FLAG_RCU)
+       if (mask & MAY_NOT_BLOCK)
                return -ECHILD;
 
        _enter("{{%x:%u},%lx},%x,",
index bfcb18feb1df32b91a9db144f3f74f5873c85866..f024d8aaddefff929ec7d557fdfc6449ab7825b8 100644 (file)
@@ -229,7 +229,7 @@ static int bad_inode_readlink(struct dentry *dentry, char __user *buffer,
        return -EIO;
 }
 
-static int bad_inode_permission(struct inode *inode, int mask, unsigned int flags)
+static int bad_inode_permission(struct inode *inode, int mask)
 {
        return -EIO;
 }
index b61b0477a8ac39b13db65b75c00724794e7a3a5c..cb170ca51c64e71d75b865fa3f91cdabfdc219f5 100644 (file)
@@ -7331,7 +7331,7 @@ static int btrfs_set_page_dirty(struct page *page)
        return __set_page_dirty_nobuffers(page);
 }
 
-static int btrfs_permission(struct inode *inode, int mask, unsigned int flags)
+static int btrfs_permission(struct inode *inode, int mask)
 {
        struct btrfs_root *root = BTRFS_I(inode)->root;
 
index 9c169741b416856bff46442596e0d465878a5c74..dfb2831d8d85e7967392cd64349d2466442bf17f 100644 (file)
@@ -1795,11 +1795,11 @@ int ceph_do_getattr(struct inode *inode, int mask)
  * Check inode permissions.  We verify we have a valid value for
  * the AUTH cap, then call the generic handler.
  */
-int ceph_permission(struct inode *inode, int mask, unsigned int flags)
+int ceph_permission(struct inode *inode, int mask)
 {
        int err;
 
-       if (flags & IPERM_FLAG_RCU)
+       if (mask & MAY_NOT_BLOCK)
                return -ECHILD;
 
        err = ceph_do_getattr(inode, CEPH_CAP_AUTH_SHARED);
index f5cabefa98dc03cee37b12e8c961a4f208e970a4..56c41ef47cad207cad60db5b1aa82030356f3cf1 100644 (file)
@@ -692,7 +692,7 @@ extern void ceph_queue_invalidate(struct inode *inode);
 extern void ceph_queue_writeback(struct inode *inode);
 
 extern int ceph_do_getattr(struct inode *inode, int mask);
-extern int ceph_permission(struct inode *inode, int mask, unsigned int flags);
+extern int ceph_permission(struct inode *inode, int mask);
 extern int ceph_setattr(struct dentry *dentry, struct iattr *attr);
 extern int ceph_getattr(struct vfsmount *mnt, struct dentry *dentry,
                        struct kstat *stat);
index b285b5bcf7119cdc05dfff4fe241f44e5bdf4bf6..cbbb55e781d3582e73398bfe84519d669d331705 100644 (file)
@@ -224,7 +224,7 @@ cifs_statfs(struct dentry *dentry, struct kstatfs *buf)
        return 0;
 }
 
-static int cifs_permission(struct inode *inode, int mask, unsigned int flags)
+static int cifs_permission(struct inode *inode, int mask)
 {
        struct cifs_sb_info *cifs_sb;
 
index 9b0c5323890b7d9f0968c672ca79bf1dd3aae81a..44e17e9c21ae0a16e3c27b6a17e7e5be4bcab4f7 100644 (file)
@@ -39,7 +39,7 @@ extern const struct file_operations coda_ioctl_operations;
 /* operations shared over more than one file */
 int coda_open(struct inode *i, struct file *f);
 int coda_release(struct inode *i, struct file *f);
-int coda_permission(struct inode *inode, int mask, unsigned int flags);
+int coda_permission(struct inode *inode, int mask);
 int coda_revalidate_inode(struct dentry *);
 int coda_getattr(struct vfsmount *, struct dentry *, struct kstat *);
 int coda_setattr(struct dentry *, struct iattr *);
index 2b8dae4d121ee5ad7d42ff879ce1a7c496d295f0..cd5532398c15144ca4025cc358f4ec7c036f7d17 100644 (file)
@@ -132,11 +132,11 @@ exit:
 }
 
 
-int coda_permission(struct inode *inode, int mask, unsigned int flags)
+int coda_permission(struct inode *inode, int mask)
 {
        int error;
 
-       if (flags & IPERM_FLAG_RCU)
+       if (mask & MAY_NOT_BLOCK)
                return -ECHILD;
 
        mask &= MAY_READ | MAY_WRITE | MAY_EXEC;
index cb140ef293e46e8739669f2e69eea701d8213874..ee0981f1375b1e46dbc49dc0363ca56802308295 100644 (file)
@@ -24,7 +24,7 @@
 #include "coda_linux.h"
 
 /* pioctl ops */
-static int coda_ioctl_permission(struct inode *inode, int mask, unsigned int flags);
+static int coda_ioctl_permission(struct inode *inode, int mask);
 static long coda_pioctl(struct file *filp, unsigned int cmd,
                        unsigned long user_data);
 
@@ -41,7 +41,7 @@ const struct file_operations coda_ioctl_operations = {
 };
 
 /* the coda pioctl inode ops */
-static int coda_ioctl_permission(struct inode *inode, int mask, unsigned int flags)
+static int coda_ioctl_permission(struct inode *inode, int mask)
 {
        return (mask & MAY_EXEC) ? -EACCES : 0;
 }
index 7349ade17de671cabadaeb9e90ec1bdaca28e55b..bec75f8e91acb800c882614e4cfdf628136baf75 100644 (file)
@@ -942,9 +942,9 @@ int ecryptfs_truncate(struct dentry *dentry, loff_t new_length)
 }
 
 static int
-ecryptfs_permission(struct inode *inode, int mask, unsigned int flags)
+ecryptfs_permission(struct inode *inode, int mask)
 {
-       if (flags & IPERM_FLAG_RCU)
+       if (mask & MAY_NOT_BLOCK)
                return -ECHILD;
        return inode_permission(ecryptfs_inode_to_lower(inode), mask);
 }
index 0df56b6c26e2592bff3d81e708f887d2ccfaba38..e2b14001cea5b0c098a72fc92ca2379299ecce3d 100644 (file)
@@ -971,9 +971,9 @@ static int fuse_access(struct inode *inode, int mask)
        return err;
 }
 
-static int fuse_perm_getattr(struct inode *inode, int flags)
+static int fuse_perm_getattr(struct inode *inode, int mask)
 {
-       if (flags & IPERM_FLAG_RCU)
+       if (mask & MAY_NOT_BLOCK)
                return -ECHILD;
 
        return fuse_do_getattr(inode, NULL, NULL);
@@ -992,7 +992,7 @@ static int fuse_perm_getattr(struct inode *inode, int flags)
  * access request is sent.  Execute permission is still checked
  * locally based on file mode.
  */
-static int fuse_permission(struct inode *inode, int mask, unsigned int flags)
+static int fuse_permission(struct inode *inode, int mask)
 {
        struct fuse_conn *fc = get_fuse_conn(inode);
        bool refreshed = false;
@@ -1011,7 +1011,7 @@ static int fuse_permission(struct inode *inode, int mask, unsigned int flags)
                if (fi->i_time < get_jiffies_64()) {
                        refreshed = true;
 
-                       err = fuse_perm_getattr(inode, flags);
+                       err = fuse_perm_getattr(inode, mask);
                        if (err)
                                return err;
                }
@@ -1024,7 +1024,7 @@ static int fuse_permission(struct inode *inode, int mask, unsigned int flags)
                   attributes.  This is also needed, because the root
                   node will at first have no permissions */
                if (err == -EACCES && !refreshed) {
-                       err = fuse_perm_getattr(inode, flags);
+                       err = fuse_perm_getattr(inode, mask);
                        if (!err)
                                err = generic_permission(inode, mask);
                }
@@ -1034,7 +1034,7 @@ static int fuse_permission(struct inode *inode, int mask, unsigned int flags)
                   noticed immediately, only after the attribute
                   timeout has expired */
        } else if (mask & (MAY_ACCESS | MAY_CHDIR)) {
-               if (flags & IPERM_FLAG_RCU)
+               if (mask & MAY_NOT_BLOCK)
                        return -ECHILD;
 
                err = fuse_access(inode, mask);
@@ -1043,7 +1043,7 @@ static int fuse_permission(struct inode *inode, int mask, unsigned int flags)
                        if (refreshed)
                                return -EACCES;
 
-                       err = fuse_perm_getattr(inode, flags);
+                       err = fuse_perm_getattr(inode, mask);
                        if (!err && !(inode->i_mode & S_IXUGO))
                                return -EACCES;
                }
index a9f5cbe45cd976de463c094cc49f721b849c5c24..89c39e53760d660d8e90b38e9b5ee1f2f3b07317 100644 (file)
@@ -243,7 +243,7 @@ static int do_gfs2_set_flags(struct file *filp, u32 reqflags, u32 mask)
            !capable(CAP_LINUX_IMMUTABLE))
                goto out;
        if (!IS_IMMUTABLE(inode)) {
-               error = gfs2_permission(inode, MAY_WRITE, 0);
+               error = gfs2_permission(inode, MAY_WRITE);
                if (error)
                        goto out;
        }
index b776ec8f9c19193b0556024ba94996b61e39fd64..b1090d66a6fdd8db040a7542e863939f643ae4de 100644 (file)
@@ -307,7 +307,7 @@ struct inode *gfs2_lookupi(struct inode *dir, const struct qstr *name,
        }
 
        if (!is_root) {
-               error = gfs2_permission(dir, MAY_EXEC, 0);
+               error = gfs2_permission(dir, MAY_EXEC);
                if (error)
                        goto out;
        }
@@ -337,7 +337,7 @@ static int create_ok(struct gfs2_inode *dip, const struct qstr *name,
 {
        int error;
 
-       error = gfs2_permission(&dip->i_inode, MAY_WRITE | MAY_EXEC, 0);
+       error = gfs2_permission(&dip->i_inode, MAY_WRITE | MAY_EXEC);
        if (error)
                return error;
 
@@ -857,7 +857,7 @@ static int gfs2_link(struct dentry *old_dentry, struct inode *dir,
        if (inode->i_nlink == 0)
                goto out_gunlock;
 
-       error = gfs2_permission(dir, MAY_WRITE | MAY_EXEC, 0);
+       error = gfs2_permission(dir, MAY_WRITE | MAY_EXEC);
        if (error)
                goto out_gunlock;
 
@@ -990,7 +990,7 @@ static int gfs2_unlink_ok(struct gfs2_inode *dip, const struct qstr *name,
        if (IS_APPEND(&dip->i_inode))
                return -EPERM;
 
-       error = gfs2_permission(&dip->i_inode, MAY_WRITE | MAY_EXEC, 0);
+       error = gfs2_permission(&dip->i_inode, MAY_WRITE | MAY_EXEC);
        if (error)
                return error;
 
@@ -1336,7 +1336,7 @@ static int gfs2_rename(struct inode *odir, struct dentry *odentry,
                        }
                }
        } else {
-               error = gfs2_permission(ndir, MAY_WRITE | MAY_EXEC, 0);
+               error = gfs2_permission(ndir, MAY_WRITE | MAY_EXEC);
                if (error)
                        goto out_gunlock;
 
@@ -1371,7 +1371,7 @@ static int gfs2_rename(struct inode *odir, struct dentry *odentry,
        /* Check out the dir to be renamed */
 
        if (dir_rename) {
-               error = gfs2_permission(odentry->d_inode, MAY_WRITE, 0);
+               error = gfs2_permission(odentry->d_inode, MAY_WRITE);
                if (error)
                        goto out_gunlock;
        }
@@ -1543,7 +1543,7 @@ static void gfs2_put_link(struct dentry *dentry, struct nameidata *nd, void *p)
  * Returns: errno
  */
 
-int gfs2_permission(struct inode *inode, int mask, unsigned int flags)
+int gfs2_permission(struct inode *inode, int mask)
 {
        struct gfs2_inode *ip;
        struct gfs2_holder i_gh;
@@ -1553,7 +1553,7 @@ int gfs2_permission(struct inode *inode, int mask, unsigned int flags)
 
        ip = GFS2_I(inode);
        if (gfs2_glock_is_locked_by_me(ip->i_gl) == NULL) {
-               if (flags & IPERM_FLAG_RCU)
+               if (mask & MAY_NOT_BLOCK)
                        return -ECHILD;
                error = gfs2_glock_nq_init(ip->i_gl, LM_ST_SHARED, LM_FLAG_ANY, &i_gh);
                if (error)
index 31606076f7015671350f061819e588dd75e08ffe..8d90e0c076722b42e2ed8da9fa40e65e2142e94f 100644 (file)
@@ -108,7 +108,7 @@ extern int gfs2_inode_refresh(struct gfs2_inode *ip);
 
 extern struct inode *gfs2_lookupi(struct inode *dir, const struct qstr *name,
                                  int is_root);
-extern int gfs2_permission(struct inode *inode, int mask, unsigned int flags);
+extern int gfs2_permission(struct inode *inode, int mask);
 extern int gfs2_setattr_simple(struct gfs2_inode *ip, struct iattr *attr);
 extern struct inode *gfs2_lookup_simple(struct inode *dip, const char *name);
 extern void gfs2_dinode_out(const struct gfs2_inode *ip, void *buf);
index b1bc31bde8335eaacf52adbbb2cbd726d8f79f4a..6e449c599b9dbf357e630e9fba8e02a826d880e5 100644 (file)
@@ -748,12 +748,12 @@ int hostfs_rename(struct inode *from_ino, struct dentry *from,
        return err;
 }
 
-int hostfs_permission(struct inode *ino, int desired, unsigned int flags)
+int hostfs_permission(struct inode *ino, int desired)
 {
        char *name;
        int r = 0, w = 0, x = 0, err;
 
-       if (flags & IPERM_FLAG_RCU)
+       if (desired & MAY_NOT_BLOCK)
                return -ECHILD;
 
        if (desired & MAY_READ) r = 1;
index 684e0f30cf4cfcb1b5f3285e0bfa5de4146046ad..c5c382620a86a3c2148e5d80f6fb87d226dd9e13 100644 (file)
@@ -287,7 +287,7 @@ int inode_permission(struct inode *inode, int mask)
        }
 
        if (inode->i_op->permission)
-               retval = inode->i_op->permission(inode, mask, 0);
+               retval = inode->i_op->permission(inode, mask);
        else
                retval = generic_permission(inode, mask);
 
@@ -323,7 +323,7 @@ static inline int exec_permission(struct inode *inode, unsigned int flags)
                mask |= MAY_NOT_BLOCK;
 
        if (inode->i_op->permission) {
-               ret = inode->i_op->permission(inode, mask, flags);
+               ret = inode->i_op->permission(inode, mask);
                if (likely(!ret))
                        goto ok;
        } else {
index 16cf84b4afb9968e1f92e82d75e6adea61b6b123..a86acd6d0cb4d7550e9909a4df4d17350dc9bcec 100644 (file)
@@ -2273,12 +2273,12 @@ int nfs_may_open(struct inode *inode, struct rpc_cred *cred, int openflags)
        return nfs_do_access(inode, cred, nfs_open_permission_mask(openflags));
 }
 
-int nfs_permission(struct inode *inode, int mask, unsigned int flags)
+int nfs_permission(struct inode *inode, int mask)
 {
        struct rpc_cred *cred;
        int res = 0;
 
-       if (flags & IPERM_FLAG_RCU)
+       if (mask & MAY_NOT_BLOCK)
                return -ECHILD;
 
        nfs_inc_stats(inode, NFSIOS_VFSACCESS);
index 0df6de58bbcb1699a168ec2e5b68b88301b6b57d..be8664c6a82585f2e2b2665849d4b5575b1202db 100644 (file)
@@ -799,7 +799,7 @@ out_err:
        return err;
 }
 
-int nilfs_permission(struct inode *inode, int mask, unsigned int flags)
+int nilfs_permission(struct inode *inode, int mask)
 {
        struct nilfs_root *root = NILFS_I(inode)->i_root;
        if ((mask & MAY_WRITE) && root &&
index f02b9ad43a21f9537d23e3678a115e570488174a..6fb7511c0328586def5821cb21ee07804e549d99 100644 (file)
@@ -264,7 +264,7 @@ extern void nilfs_update_inode(struct inode *, struct buffer_head *);
 extern void nilfs_truncate(struct inode *);
 extern void nilfs_evict_inode(struct inode *);
 extern int nilfs_setattr(struct dentry *, struct iattr *);
-int nilfs_permission(struct inode *inode, int mask, unsigned int flags);
+int nilfs_permission(struct inode *inode, int mask);
 int nilfs_load_inode_block(struct inode *inode, struct buffer_head **pbh);
 extern int nilfs_inode_dirty(struct inode *);
 int nilfs_set_file_dirty(struct inode *inode, unsigned nr_dirty);
index ecb52b028964dd80ff699ff5cadf584c6a575c5d..1406c37a5722c47cd08405d77f3667f80d8049d0 100644 (file)
@@ -1279,11 +1279,11 @@ bail:
        return err;
 }
 
-int ocfs2_permission(struct inode *inode, int mask, unsigned int flags)
+int ocfs2_permission(struct inode *inode, int mask)
 {
        int ret;
 
-       if (flags & IPERM_FLAG_RCU)
+       if (mask & MAY_NOT_BLOCK)
                return -ECHILD;
 
        ret = ocfs2_inode_lock(inode, NULL, 0);
index f5afbbef67035d23405da17cf6836604c9494d94..97bf761c9e7c7b8f1c1744bbada1d778095eb3d7 100644 (file)
@@ -61,7 +61,7 @@ int ocfs2_zero_extend(struct inode *inode, struct buffer_head *di_bh,
 int ocfs2_setattr(struct dentry *dentry, struct iattr *attr);
 int ocfs2_getattr(struct vfsmount *mnt, struct dentry *dentry,
                  struct kstat *stat);
-int ocfs2_permission(struct inode *inode, int mask, unsigned int flags);
+int ocfs2_permission(struct inode *inode, int mask);
 
 int ocfs2_should_update_atime(struct inode *inode,
                              struct vfsmount *vfsmnt);
index 53a1a961b25f52bea64b7c59f3863f6e42760c5d..be1ff932033b1f45c0128bcfe97faed35c9539f6 100644 (file)
@@ -2167,7 +2167,7 @@ static const struct file_operations proc_fd_operations = {
  * /proc/pid/fd needs a special permission handler so that a process can still
  * access /proc/self/fd after it has executed a setuid().
  */
-static int proc_fd_permission(struct inode *inode, int mask, unsigned int flags)
+static int proc_fd_permission(struct inode *inode, int mask)
 {
        int rv = generic_permission(inode, mask);
        if (rv == 0)
index 349b22f434d8652caf1943c9c1a252f9187c0567..1a77dbef226f00a2c41a5606b6e3c95fece6f5aa 100644 (file)
@@ -294,7 +294,7 @@ out:
        return ret;
 }
 
-static int proc_sys_permission(struct inode *inode, int mask,unsigned int flags)
+static int proc_sys_permission(struct inode *inode, int mask)
 {
        /*
         * sysctl entries that are not writeable,
index f17319613a85ed6fe9eceb40081e6bead54d1a5e..4ea2ab41fdeef93ff0a93cd47aedc40f464d2e50 100644 (file)
@@ -958,7 +958,7 @@ static int xattr_mount_check(struct super_block *s)
        return 0;
 }
 
-int reiserfs_permission(struct inode *inode, int mask, unsigned int flags)
+int reiserfs_permission(struct inode *inode, int mask)
 {
        /*
         * We don't do permission checks on the internal objects.
index 04c81e5ba6f7265681dade7926ab1684afdc46d9..e3f091a81c724bcf830184e1b8db4d66c40b4c5d 100644 (file)
@@ -349,11 +349,11 @@ int sysfs_hash_and_remove(struct sysfs_dirent *dir_sd, const void *ns, const cha
                return -ENOENT;
 }
 
-int sysfs_permission(struct inode *inode, int mask, unsigned int flags)
+int sysfs_permission(struct inode *inode, int mask)
 {
        struct sysfs_dirent *sd;
 
-       if (flags & IPERM_FLAG_RCU)
+       if (mask & MAY_NOT_BLOCK)
                return -ECHILD;
 
        sd = inode->i_private;
index 2ed2404f3113be24b1c77fa55e47f5126578e9e9..845ab3ad229d60616807bb39f0adaceb73a3ad8e 100644 (file)
@@ -201,7 +201,7 @@ static inline void __sysfs_put(struct sysfs_dirent *sd)
 struct inode *sysfs_get_inode(struct super_block *sb, struct sysfs_dirent *sd);
 void sysfs_evict_inode(struct inode *inode);
 int sysfs_sd_setattr(struct sysfs_dirent *sd, struct iattr *iattr);
-int sysfs_permission(struct inode *inode, int mask, unsigned int flags);
+int sysfs_permission(struct inode *inode, int mask);
 int sysfs_setattr(struct dentry *dentry, struct iattr *iattr);
 int sysfs_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat);
 int sysfs_setxattr(struct dentry *dentry, const char *name, const void *value,
index a1689c13eb774c5920d07eac3ed310a9bef84d01..1fdefe3995fd73d52bbc9994cfeae97226daa757 100644 (file)
@@ -1578,7 +1578,7 @@ struct file_operations {
 struct inode_operations {
        struct dentry * (*lookup) (struct inode *,struct dentry *, struct nameidata *);
        void * (*follow_link) (struct dentry *, struct nameidata *);
-       int (*permission) (struct inode *, int, unsigned int);
+       int (*permission) (struct inode *, int);
        int (*check_acl)(struct inode *, int);
 
        int (*readlink) (struct dentry *, char __user *,int);
index 1b93b9c60e553abadc33216bedd06c1880aeae86..86014811a0fbf16151ff918dc00aa35469f01502 100644 (file)
@@ -360,7 +360,7 @@ extern int nfs_refresh_inode(struct inode *, struct nfs_fattr *);
 extern int nfs_post_op_update_inode(struct inode *inode, struct nfs_fattr *fattr);
 extern int nfs_post_op_update_inode_force_wcc(struct inode *inode, struct nfs_fattr *fattr);
 extern int nfs_getattr(struct vfsmount *, struct dentry *, struct kstat *);
-extern int nfs_permission(struct inode *, int, unsigned int);
+extern int nfs_permission(struct inode *, int);
 extern int nfs_open(struct inode *, struct file *);
 extern int nfs_release(struct inode *, struct file *);
 extern int nfs_attribute_timeout(struct inode *inode);
index 424ba6416e7cf2c0af901465d65a2fc9d12c46ef..57958c0e1d38319fff4a2f83a3e58250e64cc794 100644 (file)
@@ -41,7 +41,7 @@ int reiserfs_xattr_init(struct super_block *sb, int mount_flags);
 int reiserfs_lookup_privroot(struct super_block *sb);
 int reiserfs_delete_xattrs(struct inode *inode);
 int reiserfs_chown_xattrs(struct inode *inode, struct iattr *attrs);
-int reiserfs_permission(struct inode *inode, int mask, unsigned int flags);
+int reiserfs_permission(struct inode *inode, int mask);
 
 #ifdef CONFIG_REISERFS_FS_XATTR
 #define has_xattr_dir(inode) (REISERFS_I(inode)->i_flags & i_has_xattr_dir)