mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	[patch 5/5] vfs: remove mode parameter from vfs_symlink()
Remove the unused mode parameter from vfs_symlink and callers. Thanks to Tetsuo Handa for noticing. CC: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
This commit is contained in:
		
							parent
							
								
									7e79eedb3b
								
							
						
					
					
						commit
						db2e747b14
					
				
					 4 changed files with 6 additions and 14 deletions
				
			
		| 
						 | 
				
			
			@ -465,7 +465,6 @@ static int ecryptfs_symlink(struct inode *dir, struct dentry *dentry,
 | 
			
		|||
	int rc;
 | 
			
		||||
	struct dentry *lower_dentry;
 | 
			
		||||
	struct dentry *lower_dir_dentry;
 | 
			
		||||
	umode_t mode;
 | 
			
		||||
	char *encoded_symname;
 | 
			
		||||
	int encoded_symlen;
 | 
			
		||||
	struct ecryptfs_crypt_stat *crypt_stat = NULL;
 | 
			
		||||
| 
						 | 
				
			
			@ -473,7 +472,6 @@ static int ecryptfs_symlink(struct inode *dir, struct dentry *dentry,
 | 
			
		|||
	lower_dentry = ecryptfs_dentry_to_lower(dentry);
 | 
			
		||||
	dget(lower_dentry);
 | 
			
		||||
	lower_dir_dentry = lock_parent(lower_dentry);
 | 
			
		||||
	mode = S_IALLUGO;
 | 
			
		||||
	encoded_symlen = ecryptfs_encode_filename(crypt_stat, symname,
 | 
			
		||||
						  strlen(symname),
 | 
			
		||||
						  &encoded_symname);
 | 
			
		||||
| 
						 | 
				
			
			@ -482,7 +480,7 @@ static int ecryptfs_symlink(struct inode *dir, struct dentry *dentry,
 | 
			
		|||
		goto out_lock;
 | 
			
		||||
	}
 | 
			
		||||
	rc = vfs_symlink(lower_dir_dentry->d_inode, lower_dentry,
 | 
			
		||||
			 encoded_symname, mode);
 | 
			
		||||
			 encoded_symname);
 | 
			
		||||
	kfree(encoded_symname);
 | 
			
		||||
	if (rc || !lower_dentry->d_inode)
 | 
			
		||||
		goto out_lock;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2434,7 +2434,7 @@ asmlinkage long sys_unlink(const char __user *pathname)
 | 
			
		|||
	return do_unlinkat(AT_FDCWD, pathname);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int vfs_symlink(struct inode *dir, struct dentry *dentry, const char *oldname, int mode)
 | 
			
		||||
int vfs_symlink(struct inode *dir, struct dentry *dentry, const char *oldname)
 | 
			
		||||
{
 | 
			
		||||
	int error = may_create(dir, dentry, NULL);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2483,7 +2483,7 @@ asmlinkage long sys_symlinkat(const char __user *oldname,
 | 
			
		|||
	error = mnt_want_write(nd.path.mnt);
 | 
			
		||||
	if (error)
 | 
			
		||||
		goto out_dput;
 | 
			
		||||
	error = vfs_symlink(nd.path.dentry->d_inode, dentry, from, S_IALLUGO);
 | 
			
		||||
	error = vfs_symlink(nd.path.dentry->d_inode, dentry, from);
 | 
			
		||||
	mnt_drop_write(nd.path.mnt);
 | 
			
		||||
out_dput:
 | 
			
		||||
	dput(dentry);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1516,7 +1516,6 @@ nfsd_symlink(struct svc_rqst *rqstp, struct svc_fh *fhp,
 | 
			
		|||
	struct dentry	*dentry, *dnew;
 | 
			
		||||
	__be32		err, cerr;
 | 
			
		||||
	int		host_err;
 | 
			
		||||
	umode_t		mode;
 | 
			
		||||
 | 
			
		||||
	err = nfserr_noent;
 | 
			
		||||
	if (!flen || !plen)
 | 
			
		||||
| 
						 | 
				
			
			@ -1535,11 +1534,6 @@ nfsd_symlink(struct svc_rqst *rqstp, struct svc_fh *fhp,
 | 
			
		|||
	if (IS_ERR(dnew))
 | 
			
		||||
		goto out_nfserr;
 | 
			
		||||
 | 
			
		||||
	mode = S_IALLUGO;
 | 
			
		||||
	/* Only the MODE ATTRibute is even vaguely meaningful */
 | 
			
		||||
	if (iap && (iap->ia_valid & ATTR_MODE))
 | 
			
		||||
		mode = iap->ia_mode & S_IALLUGO;
 | 
			
		||||
 | 
			
		||||
	host_err = mnt_want_write(fhp->fh_export->ex_path.mnt);
 | 
			
		||||
	if (host_err)
 | 
			
		||||
		goto out_nfserr;
 | 
			
		||||
| 
						 | 
				
			
			@ -1551,11 +1545,11 @@ nfsd_symlink(struct svc_rqst *rqstp, struct svc_fh *fhp,
 | 
			
		|||
		else {
 | 
			
		||||
			strncpy(path_alloced, path, plen);
 | 
			
		||||
			path_alloced[plen] = 0;
 | 
			
		||||
			host_err = vfs_symlink(dentry->d_inode, dnew, path_alloced, mode);
 | 
			
		||||
			host_err = vfs_symlink(dentry->d_inode, dnew, path_alloced);
 | 
			
		||||
			kfree(path_alloced);
 | 
			
		||||
		}
 | 
			
		||||
	} else
 | 
			
		||||
		host_err = vfs_symlink(dentry->d_inode, dnew, path, mode);
 | 
			
		||||
		host_err = vfs_symlink(dentry->d_inode, dnew, path);
 | 
			
		||||
 | 
			
		||||
	if (!host_err) {
 | 
			
		||||
		if (EX_ISSYNC(fhp->fh_export))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1139,7 +1139,7 @@ extern int vfs_permission(struct nameidata *, int);
 | 
			
		|||
extern int vfs_create(struct inode *, struct dentry *, int, struct nameidata *);
 | 
			
		||||
extern int vfs_mkdir(struct inode *, struct dentry *, int);
 | 
			
		||||
extern int vfs_mknod(struct inode *, struct dentry *, int, dev_t);
 | 
			
		||||
extern int vfs_symlink(struct inode *, struct dentry *, const char *, int);
 | 
			
		||||
extern int vfs_symlink(struct inode *, struct dentry *, const char *);
 | 
			
		||||
extern int vfs_link(struct dentry *, struct inode *, struct dentry *);
 | 
			
		||||
extern int vfs_rmdir(struct inode *, struct dentry *);
 | 
			
		||||
extern int vfs_unlink(struct inode *, struct dentry *);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue