diff options
| -rw-r--r-- | fs/jfs/acl.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/fs/jfs/acl.c b/fs/jfs/acl.c index 5a8ea16eedbc..0c8ca830b113 100644 --- a/fs/jfs/acl.c +++ b/fs/jfs/acl.c | |||
| @@ -83,13 +83,15 @@ static int __jfs_set_acl(tid_t tid, struct inode *inode, int type, | |||
| 83 | switch (type) { | 83 | switch (type) { |
| 84 | case ACL_TYPE_ACCESS: | 84 | case ACL_TYPE_ACCESS: |
| 85 | ea_name = POSIX_ACL_XATTR_ACCESS; | 85 | ea_name = POSIX_ACL_XATTR_ACCESS; |
| 86 | rc = posix_acl_equiv_mode(acl, &inode->i_mode); | 86 | if (acl) { |
| 87 | if (rc < 0) | 87 | rc = posix_acl_equiv_mode(acl, &inode->i_mode); |
| 88 | return rc; | 88 | if (rc < 0) |
| 89 | inode->i_ctime = CURRENT_TIME; | 89 | return rc; |
| 90 | mark_inode_dirty(inode); | 90 | inode->i_ctime = CURRENT_TIME; |
| 91 | if (rc == 0) | 91 | mark_inode_dirty(inode); |
| 92 | acl = NULL; | 92 | if (rc == 0) |
| 93 | acl = NULL; | ||
| 94 | } | ||
| 93 | break; | 95 | break; |
| 94 | case ACL_TYPE_DEFAULT: | 96 | case ACL_TYPE_DEFAULT: |
| 95 | ea_name = POSIX_ACL_XATTR_DEFAULT; | 97 | ea_name = POSIX_ACL_XATTR_DEFAULT; |
