fix setattr permission checking
authorMiklos Szeredi <miklos@szeredi.hu>
Mon, 26 Jul 2004 19:41:49 +0000 (19:41 +0000)
committerMiklos Szeredi <miklos@szeredi.hu>
Mon, 26 Jul 2004 19:41:49 +0000 (19:41 +0000)
ChangeLog
kernel/dir.c

index 2d6592fac3c82e0eb298867f0ec044afad384fda..34694d6e7be5fb3d2416cf73204bc89e2343fcef 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-07-26  Miklos Szeredi <miklos@szeredi.hu>
+
+       * Check permissions in setattr if 'default_permissions' flag is
+       set.  Bug spotted by Damjan Lango
+
 2004-07-14  Miklos Szeredi <miklos@szeredi.hu>
 
        * Released 1.3
index 9a88a23430ac8b8d15df3a56f1dbc10f1da87b51..1de005815c426049db9d62d24bc33db6efb0d665 100644 (file)
@@ -634,6 +634,12 @@ static int fuse_setattr(struct dentry *entry, struct iattr *attr)
        struct fuse_setattr_in inarg;
        struct fuse_setattr_out outarg;
 
+       if (fc->flags & FUSE_DEFAULT_PERMISSIONS) {
+               err = inode_change_ok(inode, attr);
+               if (err)
+                       return err;
+       }
+
        /* FIXME: need to fix race between truncate and writepage */
        if (attr->ia_valid & ATTR_SIZE) 
                fuse_sync_inode(inode);