aboutsummaryrefslogtreecommitdiffstats
path: root/fs/open.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/open.c')
-rw-r--r--fs/open.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/open.c b/fs/open.c
index a54ed85209c1..0d1fa3dc0efb 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -366,7 +366,7 @@ SYSCALL_DEFINE1(chdir, const char __user *, filename)
366 if (error) 366 if (error)
367 goto out; 367 goto out;
368 368
369 error = inode_permission(path.dentry->d_inode, MAY_EXEC | MAY_ACCESS); 369 error = inode_permission(path.dentry->d_inode, MAY_EXEC | MAY_CHDIR);
370 if (error) 370 if (error)
371 goto dput_and_out; 371 goto dput_and_out;
372 372
@@ -395,7 +395,7 @@ SYSCALL_DEFINE1(fchdir, unsigned int, fd)
395 if (!S_ISDIR(inode->i_mode)) 395 if (!S_ISDIR(inode->i_mode))
396 goto out_putf; 396 goto out_putf;
397 397
398 error = inode_permission(inode, MAY_EXEC | MAY_ACCESS); 398 error = inode_permission(inode, MAY_EXEC | MAY_CHDIR);
399 if (!error) 399 if (!error)
400 set_fs_pwd(current->fs, &file->f_path); 400 set_fs_pwd(current->fs, &file->f_path);
401out_putf: 401out_putf:
@@ -413,7 +413,7 @@ SYSCALL_DEFINE1(chroot, const char __user *, filename)
413 if (error) 413 if (error)
414 goto out; 414 goto out;
415 415
416 error = inode_permission(path.dentry->d_inode, MAY_EXEC | MAY_ACCESS); 416 error = inode_permission(path.dentry->d_inode, MAY_EXEC | MAY_CHDIR);
417 if (error) 417 if (error)
418 goto dput_and_out; 418 goto dput_and_out;
419 419