aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs
diff options
context:
space:
mode:
authorEric Paris <eparis@redhat.com>2010-07-23 11:43:51 -0400
committerJames Morris <jmorris@namei.org>2010-08-02 01:35:06 -0400
commit9cfcac810e8993fa7a5bfd24b1a21f1dbbb03a7b (patch)
tree86fae80c744e46b15b8eb9aa23fead7e63a64159 /fs/nfs
parent692a8a231b212dfc68f612956d63f34abf098e0f (diff)
vfs: re-introduce MAY_CHDIR
Currently MAY_ACCESS means that filesystems must check the permissions right then and not rely on cached results or the results of future operations on the object. This can be because of a call to sys_access() or because of a call to chdir() which needs to check search without relying on any future operations inside that dir. I plan to use MAY_ACCESS for other purposes in the security system, so I split the MAY_ACCESS and the MAY_CHDIR cases. Signed-off-by: Eric Paris <eparis@redhat.com> Acked-by: Stephen D. Smalley <sds@tycho.nsa.gov> Signed-off-by: James Morris <jmorris@namei.org>
Diffstat (limited to 'fs/nfs')
-rw-r--r--fs/nfs/dir.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/dir.c b/fs/nfs/dir.c
index e60416d3f818..832e9e239324 100644
--- a/fs/nfs/dir.c
+++ b/fs/nfs/dir.c
@@ -1953,7 +1953,7 @@ int nfs_permission(struct inode *inode, int mask)
1953 if ((mask & (MAY_READ | MAY_WRITE | MAY_EXEC)) == 0) 1953 if ((mask & (MAY_READ | MAY_WRITE | MAY_EXEC)) == 0)
1954 goto out; 1954 goto out;
1955 /* Is this sys_access() ? */ 1955 /* Is this sys_access() ? */
1956 if (mask & MAY_ACCESS) 1956 if (mask & (MAY_ACCESS | MAY_CHDIR))
1957 goto force_lookup; 1957 goto force_lookup;
1958 1958
1959 switch (inode->i_mode & S_IFMT) { 1959 switch (inode->i_mode & S_IFMT) {