Commit 2830ba7f34ebb27c4e5b8b6ef408cd6d74860890
1 parent
7e40145eb1
Exists in
master
and in
4 other branches
->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
fs/afs/security.c
fs/btrfs/inode.c
... | ... | @@ -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 = { |
fs/ceph/inode.c
fs/cifs/cifsfs.c
... | ... | @@ -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; |
fs/fuse/dir.c
... | ... | @@ -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 |
fs/gfs2/inode.c
... | ... | @@ -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
fs/hpfs/namei.c
fs/namei.c
... | ... | @@ -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; |
fs/nfs/dir.c
fs/nilfs2/inode.c
... | ... | @@ -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) |
fs/ocfs2/file.c
fs/proc/base.c
... | ... | @@ -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)) |
fs/reiserfs/xattr.c
fs/sysfs/inode.c
include/linux/fs.h
... | ... | @@ -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 | { |