aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/dir.c
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2005-08-01 13:36:53 +0000
committerMiklos Szeredi <miklos@szeredi.hu>2005-08-01 13:36:53 +0000
commit009b878e22fae96037da5332937c436d48d7989e (patch)
tree943c8c4c53ca3e06161357c55aaa0e21f1f6ed58 /kernel/dir.c
parent7b28eaeac5f2d8d591b1b0c94e10b64644017869 (diff)
downloadlibfuse-009b878e22fae96037da5332937c436d48d7989e.tar.gz
fix
Diffstat (limited to 'kernel/dir.c')
-rw-r--r--kernel/dir.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/dir.c b/kernel/dir.c
index 26d2dfc..a7a6945 100644
--- a/kernel/dir.c
+++ b/kernel/dir.c
@@ -552,7 +552,9 @@ static int fuse_permission(struct inode *inode, int mask, struct nameidata *nd)
return -EACCES;
err = 0;
- if (nd->flags & LOOKUP_ACCESS)
+ if (nd &&
+ ((nd->flags & LOOKUP_ACCESS) ||
+ ((nd->flags & LOOKUP_OPEN) && mode != 0)))
err = fuse_access(inode, mask);
}
return err;