if (!(fc->flags & FUSE_ALLOW_OTHER) && current->fsuid != fc->user_id) 
if (!fuse_allow_task(fc, current)) 
static int fuse_permission(struct inode *inode, int mask, struct nameidata *nd){	struct fuse_conn *fc = get_fuse_conn(inode);	if (!(fc->flags & FUSE_ALLOW_OTHER) && current->fsuid != fc->user_id)		return -EACCES;	else if (fc->flags & FUSE_DEFAULT_PERMISSIONS) {		int err = generic_permission(inode, mask, NULL);		/* If permission is denied, try to refresh file		   attributes.  This is also needed, because the root		   node will at first have no permissions */		if (err == -EACCES) {		 	err = fuse_do_getattr(inode);			if (!err)				err = generic_permission(inode, mask, NULL);		}		/* FIXME: Need some mechanism to revoke permissions:		   currently if the filesystem suddenly changes the		   file mode, we will not be informed about it, and		   continue to allow access to the file/directory.		   This is actually not so grave, since the user can		   simply keep access to the file/directory anyway by		   keeping it open... */		return err;	} else {		int mode = inode->i_mode;		if ((mask & MAY_WRITE) && IS_RDONLY(inode) &&                    (S_ISREG(mode) || S_ISDIR(mode) || S_ISLNK(mode)))                        return -EROFS;		if ((mask & MAY_EXEC) && !S_ISDIR(mode) && !(mode & S_IXUGO))			return -EACCES;		return 0;	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/87729a5514e855ce2c71e3e33833a106b8caf2ae/dir.c/buggy/fs/fuse/dir.c