aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/dir.c
diff options
context:
space:
mode:
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;