aboutsummaryrefslogtreecommitdiff
path: root/kernel/dir.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/dir.c')
-rw-r--r--kernel/dir.c9
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;
}