return rc;
}
if (acl) {
+ struct posix_acl *old_acl = acl;
rc = posix_acl_update_mode(inode, &inode->i_mode, &acl);
- posix_acl_release(acl);
- if (rc) {
+ posix_acl_release(old_acl);
+ if (rc < 0) {
printk(KERN_ERR
"posix_acl_update_mode returned %d\n",
rc);