summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/generic_acl.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/fs/generic_acl.c b/fs/generic_acl.c
index 3a60d9d1653c..134782116a62 100644
--- a/fs/generic_acl.c
+++ b/fs/generic_acl.c
@@ -134,14 +134,8 @@ generic_acl_init(struct inode *inode, struct inode *dir)
if (acl) {
struct posix_acl *clone;
- if (S_ISDIR(inode->i_mode)) {
- clone = posix_acl_clone(acl, GFP_KERNEL);
- error = -ENOMEM;
- if (!clone)
- goto cleanup;
- set_cached_acl(inode, ACL_TYPE_DEFAULT, clone);
- posix_acl_release(clone);
- }
+ if (S_ISDIR(inode->i_mode))
+ set_cached_acl(inode, ACL_TYPE_DEFAULT, acl);
clone = posix_acl_clone(acl, GFP_KERNEL);
error = -ENOMEM;
if (!clone)