diff options
Diffstat (limited to 'fs/open.c')
| -rw-r--r-- | fs/open.c | 11 | 
1 files changed, 5 insertions, 6 deletions
diff --git a/fs/open.c b/fs/open.c index 5463266db9e..0d1fa3dc0ef 100644 --- a/fs/open.c +++ b/fs/open.c @@ -110,7 +110,7 @@ static long do_sys_truncate(const char __user *pathname, loff_t length)  	error = locks_verify_truncate(inode, NULL, length);  	if (!error) -		error = security_path_truncate(&path, length, 0); +		error = security_path_truncate(&path);  	if (!error)  		error = do_truncate(path.dentry, length, 0, NULL); @@ -165,8 +165,7 @@ static long do_sys_ftruncate(unsigned int fd, loff_t length, int small)  	error = locks_verify_truncate(inode, file, length);  	if (!error) -		error = security_path_truncate(&file->f_path, length, -					       ATTR_MTIME|ATTR_CTIME); +		error = security_path_truncate(&file->f_path);  	if (!error)  		error = do_truncate(dentry, length, ATTR_MTIME|ATTR_CTIME, file);  out_putf: @@ -367,7 +366,7 @@ SYSCALL_DEFINE1(chdir, const char __user *, filename)  	if (error)  		goto out; -	error = inode_permission(path.dentry->d_inode, MAY_EXEC | MAY_ACCESS); +	error = inode_permission(path.dentry->d_inode, MAY_EXEC | MAY_CHDIR);  	if (error)  		goto dput_and_out; @@ -396,7 +395,7 @@ SYSCALL_DEFINE1(fchdir, unsigned int, fd)  	if (!S_ISDIR(inode->i_mode))  		goto out_putf; -	error = inode_permission(inode, MAY_EXEC | MAY_ACCESS); +	error = inode_permission(inode, MAY_EXEC | MAY_CHDIR);  	if (!error)  		set_fs_pwd(current->fs, &file->f_path);  out_putf: @@ -414,7 +413,7 @@ SYSCALL_DEFINE1(chroot, const char __user *, filename)  	if (error)  		goto out; -	error = inode_permission(path.dentry->d_inode, MAY_EXEC | MAY_ACCESS); +	error = inode_permission(path.dentry->d_inode, MAY_EXEC | MAY_CHDIR);  	if (error)  		goto dput_and_out;  |