Commit 2830ba7f34ebb27c4e5b8b6ef408cd6d74860890

Authored by Al Viro
1 parent 7e40145eb1

->permission() sanitizing: don't pass flags to generic_permission()

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>

Showing 16 changed files with 18 additions and 19 deletions Side-by-side Diff

... ... @@ -350,7 +350,7 @@
350 350 }
351 351  
352 352 key_put(key);
353   - ret = generic_permission(inode, mask, flags);
  353 + ret = generic_permission(inode, mask);
354 354 _leave(" = %d", ret);
355 355 return ret;
356 356  
... ... @@ -7339,7 +7339,7 @@
7339 7339 return -EROFS;
7340 7340 if ((BTRFS_I(inode)->flags & BTRFS_INODE_READONLY) && (mask & MAY_WRITE))
7341 7341 return -EACCES;
7342   - return generic_permission(inode, mask, flags);
  7342 + return generic_permission(inode, mask);
7343 7343 }
7344 7344  
7345 7345 static const struct inode_operations btrfs_dir_inode_operations = {
... ... @@ -1805,7 +1805,7 @@
1805 1805 err = ceph_do_getattr(inode, CEPH_CAP_AUTH_SHARED);
1806 1806  
1807 1807 if (!err)
1808   - err = generic_permission(inode, mask, flags);
  1808 + err = generic_permission(inode, mask);
1809 1809 return err;
1810 1810 }
1811 1811  
... ... @@ -239,7 +239,7 @@
239 239 on the client (above and beyond ACL on servers) for
240 240 servers which do not support setting and viewing mode bits,
241 241 so allowing client to check permissions is useful */
242   - return generic_permission(inode, mask, flags);
  242 + return generic_permission(inode, mask);
243 243 }
244 244  
245 245 static struct kmem_cache *cifs_inode_cachep;
... ... @@ -1018,7 +1018,7 @@
1018 1018 }
1019 1019  
1020 1020 if (fc->flags & FUSE_DEFAULT_PERMISSIONS) {
1021   - err = generic_permission(inode, mask, flags);
  1021 + err = generic_permission(inode, mask);
1022 1022  
1023 1023 /* If permission is denied, try to refresh file
1024 1024 attributes. This is also needed, because the root
... ... @@ -1026,8 +1026,7 @@
1026 1026 if (err == -EACCES && !refreshed) {
1027 1027 err = fuse_perm_getattr(inode, flags);
1028 1028 if (!err)
1029   - err = generic_permission(inode, mask,
1030   - flags);
  1029 + err = generic_permission(inode, mask);
1031 1030 }
1032 1031  
1033 1032 /* Note: the opposite of the above test does not
... ... @@ -1564,7 +1564,7 @@
1564 1564 if ((mask & MAY_WRITE) && IS_IMMUTABLE(inode))
1565 1565 error = -EACCES;
1566 1566 else
1567   - error = generic_permission(inode, mask, flags);
  1567 + error = generic_permission(inode, mask);
1568 1568 if (unlock)
1569 1569 gfs2_glock_dq_uninit(&i_gh);
1570 1570  
fs/hostfs/hostfs_kern.c
... ... @@ -770,7 +770,7 @@
770 770 err = access_file(name, r, w, x);
771 771 __putname(name);
772 772 if (!err)
773   - err = generic_permission(ino, desired, flags);
  773 + err = generic_permission(ino, desired);
774 774 return err;
775 775 }
776 776  
... ... @@ -398,7 +398,7 @@
398 398 hpfs_unlock(dir->i_sb);
399 399 return -ENOSPC;
400 400 }
401   - if (generic_permission(inode, MAY_WRITE, 0) ||
  401 + if (generic_permission(inode, MAY_WRITE) ||
402 402 !S_ISREG(inode->i_mode) ||
403 403 get_write_access(inode)) {
404 404 d_rehash(dentry);
... ... @@ -224,7 +224,7 @@
224 224 * request cannot be satisfied (eg. requires blocking or too much complexity).
225 225 * It would then be called again in ref-walk mode.
226 226 */
227   -int generic_permission(struct inode *inode, int mask, unsigned int flags)
  227 +int generic_permission(struct inode *inode, int mask)
228 228 {
229 229 int ret;
230 230  
... ... @@ -289,7 +289,7 @@
289 289 if (inode->i_op->permission)
290 290 retval = inode->i_op->permission(inode, mask, 0);
291 291 else
292   - retval = generic_permission(inode, mask, 0);
  292 + retval = generic_permission(inode, mask);
293 293  
294 294 if (retval)
295 295 return retval;
... ... @@ -2328,7 +2328,7 @@
2328 2328 out_notsup:
2329 2329 res = nfs_revalidate_inode(NFS_SERVER(inode), inode);
2330 2330 if (res == 0)
2331   - res = generic_permission(inode, mask, flags);
  2331 + res = generic_permission(inode, mask);
2332 2332 goto out;
2333 2333 }
2334 2334  
... ... @@ -806,7 +806,7 @@
806 806 root->cno != NILFS_CPTREE_CURRENT_CNO)
807 807 return -EROFS; /* snapshot is not writable */
808 808  
809   - return generic_permission(inode, mask, flags);
  809 + return generic_permission(inode, mask);
810 810 }
811 811  
812 812 int nilfs_load_inode_block(struct inode *inode, struct buffer_head **pbh)
... ... @@ -1293,7 +1293,7 @@
1293 1293 goto out;
1294 1294 }
1295 1295  
1296   - ret = generic_permission(inode, mask, flags);
  1296 + ret = generic_permission(inode, mask);
1297 1297  
1298 1298 ocfs2_inode_unlock(inode, 0);
1299 1299 out:
... ... @@ -2169,7 +2169,7 @@
2169 2169 */
2170 2170 static int proc_fd_permission(struct inode *inode, int mask, unsigned int flags)
2171 2171 {
2172   - int rv = generic_permission(inode, mask, flags);
  2172 + int rv = generic_permission(inode, mask);
2173 2173 if (rv == 0)
2174 2174 return 0;
2175 2175 if (task_pid(current) == proc_pid(inode))
... ... @@ -967,7 +967,7 @@
967 967 if (IS_PRIVATE(inode))
968 968 return 0;
969 969  
970   - return generic_permission(inode, mask, flags);
  970 + return generic_permission(inode, mask);
971 971 }
972 972  
973 973 static int xattr_hide_revalidate(struct dentry *dentry, struct nameidata *nd)
... ... @@ -362,6 +362,6 @@
362 362 sysfs_refresh_inode(sd, inode);
363 363 mutex_unlock(&sysfs_mutex);
364 364  
365   - return generic_permission(inode, mask, flags);
  365 + return generic_permission(inode, mask);
366 366 }
... ... @@ -2188,7 +2188,7 @@
2188 2188 #endif
2189 2189 extern int notify_change(struct dentry *, struct iattr *);
2190 2190 extern int inode_permission(struct inode *, int);
2191   -extern int generic_permission(struct inode *, int, unsigned int);
  2191 +extern int generic_permission(struct inode *, int);
2192 2192  
2193 2193 static inline bool execute_ok(struct inode *inode)
2194 2194 {