Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 10556cb2 authored by Al Viro's avatar Al Viro
Browse files

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



not used by the instances anymore.

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 2830ba7f
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -333,7 +333,7 @@ struct inode_operations {
        void * (*follow_link) (struct dentry *, struct nameidata *);
        void * (*follow_link) (struct dentry *, struct nameidata *);
        void (*put_link) (struct dentry *, struct nameidata *, void *);
        void (*put_link) (struct dentry *, struct nameidata *, void *);
	void (*truncate) (struct inode *);
	void (*truncate) (struct inode *);
	int (*permission) (struct inode *, int, unsigned int);
	int (*permission) (struct inode *, int);
	int (*check_acl)(struct inode *, int);
	int (*check_acl)(struct inode *, int);
	int (*setattr) (struct dentry *, struct iattr *);
	int (*setattr) (struct dentry *, struct iattr *);
	int (*getattr) (struct vfsmount *mnt, struct dentry *, struct kstat *);
	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
  permission: called by the VFS to check for access rights on a POSIX-like
  	filesystem.
  	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
        mode, the filesystem must check the permission without blocking or
	storing to the inode.
	storing to the inode.


+1 −1
Original line number Original line Diff line number Diff line
@@ -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_cache_permit(struct afs_vnode *, struct key *, long);
extern void afs_zap_permits(struct rcu_head *);
extern void afs_zap_permits(struct rcu_head *);
extern struct key *afs_request_key(struct afs_cell *);
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
 * server.c
+2 −2
Original line number Original line Diff line number Diff line
@@ -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
 * - AFS ACLs are attached to directories only, and a file is controlled by its
 *   parent directory's ACL
 *   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);
	struct afs_vnode *vnode = AFS_FS_I(inode);
	afs_access_t uninitialized_var(access);
	afs_access_t uninitialized_var(access);
	struct key *key;
	struct key *key;
	int ret;
	int ret;


	if (flags & IPERM_FLAG_RCU)
	if (mask & MAY_NOT_BLOCK)
		return -ECHILD;
		return -ECHILD;


	_enter("{{%x:%u},%lx},%x,",
	_enter("{{%x:%u},%lx},%x,",
+1 −1
Original line number Original line Diff line number Diff line
@@ -229,7 +229,7 @@ static int bad_inode_readlink(struct dentry *dentry, char __user *buffer,
	return -EIO;
	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;
	return -EIO;
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -7331,7 +7331,7 @@ static int btrfs_set_page_dirty(struct page *page)
	return __set_page_dirty_nobuffers(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;
	struct btrfs_root *root = BTRFS_I(inode)->root;


Loading