[PATCH] sanitize ->permission() prototype
* kill nameidata * argument; map the 3 bits in ->flags anybody cares about to new MAY_... ones and pass with the mask. * kill redundant gfs2_iop_permission() * sanitize ecryptfs_permission() * fix remaining places where ->permission() instances might barf on new MAY_... found in mask. The obvious next target in that direction is permission(9) folded fix for nfs_permission() breakage from Miklos Szeredi <mszeredi@suse.cz> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@ -408,7 +408,7 @@ smb_file_release(struct inode *inode, struct file * file)
|
||||
* privileges, so we need our own check for this.
|
||||
*/
|
||||
static int
|
||||
smb_file_permission(struct inode *inode, int mask, struct nameidata *nd)
|
||||
smb_file_permission(struct inode *inode, int mask)
|
||||
{
|
||||
int mode = inode->i_mode;
|
||||
int error = 0;
|
||||
@ -417,7 +417,7 @@ smb_file_permission(struct inode *inode, int mask, struct nameidata *nd)
|
||||
|
||||
/* Look at user permissions */
|
||||
mode >>= 6;
|
||||
if ((mode & 7 & mask) != mask)
|
||||
if (mask & ~mode & (MAY_READ | MAY_WRITE | MAY_EXEC))
|
||||
error = -EACCES;
|
||||
return error;
|
||||
}
|
||||
|
Reference in New Issue
Block a user