diff options
Diffstat (limited to 'kernel/dir.c')
-rw-r--r-- | kernel/dir.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/dir.c b/kernel/dir.c index a7a6945..f2fe170 100644 --- a/kernel/dir.c +++ b/kernel/dir.c @@ -24,7 +24,7 @@ static inline unsigned long time_to_jiffies(unsigned long sec, unsigned long nsec) { struct timespec ts = {sec, nsec}; - return jiffies + timespec_to_jiffies(&ts); + return jiffies + ((sec || nsec) ? timespec_to_jiffies(&ts) : 0) - 1; } static void fuse_lookup_init(struct fuse_req *req, struct inode *dir, @@ -552,7 +552,7 @@ static int fuse_permission(struct inode *inode, int mask, struct nameidata *nd) return -EACCES; err = 0; - if (nd && + if (nd && ((nd->flags & LOOKUP_ACCESS) || ((nd->flags & LOOKUP_OPEN) && mode != 0))) err = fuse_access(inode, mask); |