Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[firefly-linux-kernel-4.4.55.git] / fs / jfs / acl.c
index 5a8ea16eedbcd1d634feedce069637a717c49c19..0c8ca830b113e62246d3f2629846958bdee32775 100644 (file)
@@ -83,13 +83,15 @@ static int __jfs_set_acl(tid_t tid, struct inode *inode, int type,
        switch (type) {
        case ACL_TYPE_ACCESS:
                ea_name = POSIX_ACL_XATTR_ACCESS;
-               rc = posix_acl_equiv_mode(acl, &inode->i_mode);
-               if (rc < 0)
-                       return rc;
-               inode->i_ctime = CURRENT_TIME;
-               mark_inode_dirty(inode);
-               if (rc == 0)
-                       acl = NULL;
+               if (acl) {
+                       rc = posix_acl_equiv_mode(acl, &inode->i_mode);
+                       if (rc < 0)
+                               return rc;
+                       inode->i_ctime = CURRENT_TIME;
+                       mark_inode_dirty(inode);
+                       if (rc == 0)
+                               acl = NULL;
+               }
                break;
        case ACL_TYPE_DEFAULT:
                ea_name = POSIX_ACL_XATTR_DEFAULT;