diff options
Diffstat (limited to 'kernel/dir.c')
-rw-r--r-- | kernel/dir.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/kernel/dir.c b/kernel/dir.c index 6ae498c..947d538 100644 --- a/kernel/dir.c +++ b/kernel/dir.c @@ -441,9 +441,7 @@ static int fuse_revalidate(struct dentry *entry) if (get_node_id(inode) == FUSE_ROOT_ID) { if (!(fc->flags & FUSE_ALLOW_OTHER) && - current->fsuid != fc->user_id && - (!(fc->flags & FUSE_ALLOW_ROOT) || - !capable(CAP_DAC_OVERRIDE))) + current->fsuid != fc->user_id) return -EACCES; } else if (time_before_eq(jiffies, fi->i_time)) return 0; @@ -455,8 +453,7 @@ static int fuse_permission(struct inode *inode, int mask, struct nameidata *nd) { struct fuse_conn *fc = get_fuse_conn(inode); - if (!(fc->flags & FUSE_ALLOW_OTHER) && current->fsuid != fc->user_id && - (!(fc->flags & FUSE_ALLOW_ROOT) || !capable(CAP_DAC_OVERRIDE))) + if (!(fc->flags & FUSE_ALLOW_OTHER) && current->fsuid != fc->user_id) return -EACCES; else if (fc->flags & FUSE_DEFAULT_PERMISSIONS) { #ifdef KERNEL_2_6_10_PLUS |