diff options
Diffstat (limited to 'kernel/dir.c')
-rw-r--r-- | kernel/dir.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/kernel/dir.c b/kernel/dir.c index 87f7241..9a3d4ee 100644 --- a/kernel/dir.c +++ b/kernel/dir.c @@ -303,6 +303,15 @@ static int fuse_link(struct dentry *entry, struct inode *newdir, static int fuse_permission(struct inode *inode, int mask) { + struct fuse_conn *fc = INO_FC(inode); + + /* (too) simple protection for non-privileged mounts */ + if(fc->uid) { + if(current->fsuid == fc->uid) + return 0; + else + return -EACCES; + } return 0; } |