reiserfs: minimal fix for ACL caching
[pandora-kernel.git] / fs / reiserfs / xattr_acl.c
index d423416..a1a7e35 100644 (file)
@@ -194,7 +194,7 @@ static inline void iset_acl(struct inode *inode, struct posix_acl **i_acl,
        spin_lock(&inode->i_lock);
        if (*i_acl != ERR_PTR(-ENODATA))
                posix_acl_release(*i_acl);
        spin_lock(&inode->i_lock);
        if (*i_acl != ERR_PTR(-ENODATA))
                posix_acl_release(*i_acl);
-       *i_acl = posix_acl_dup(acl);
+       *i_acl = acl ? posix_acl_dup(acl) : ERR_PTR(-ENODATA);
        spin_unlock(&inode->i_lock);
 }
 
        spin_unlock(&inode->i_lock);
 }
 
@@ -428,7 +428,7 @@ reiserfs_inherit_default_acl(struct reiserfs_transaction_handle *th,
        } else {
              apply_umask:
                /* no ACL, apply umask */
        } else {
              apply_umask:
                /* no ACL, apply umask */
-               inode->i_mode &= ~current->fs->umask;
+               inode->i_mode &= ~current_umask();
        }
 
        return err;
        }
 
        return err;