aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/acl.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/gfs2/acl.c')
-rw-r--r--fs/gfs2/acl.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/fs/gfs2/acl.c b/fs/gfs2/acl.c
index 60c98c0314a1..d846b5ad1d87 100644
--- a/fs/gfs2/acl.c
+++ b/fs/gfs2/acl.c
@@ -65,9 +65,8 @@ int gfs2_acl_validate_set(struct gfs2_inode *ip, int access,
65 error = 0; 65 error = 0;
66 } 66 }
67 67
68 out: 68out:
69 posix_acl_release(acl); 69 posix_acl_release(acl);
70
71 return error; 70 return error;
72} 71}
73 72
@@ -132,18 +131,16 @@ static int acl_get(struct gfs2_inode *ip, int access, struct posix_acl **acl,
132 error = PTR_ERR(*acl); 131 error = PTR_ERR(*acl);
133 } 132 }
134 133
135 out_kfree: 134out_kfree:
136 if (error || !data) 135 if (error || !data)
137 kfree(er.er_data); 136 kfree(er.er_data);
138 else { 137 else {
139 *data = er.er_data; 138 *data = er.er_data;
140 *len = er.er_data_len; 139 *len = er.er_data_len;
141 } 140 }
142 141out:
143 out:
144 if (error || el == &el_this) 142 if (error || el == &el_this)
145 brelse(el->el_bh); 143 brelse(el->el_bh);
146
147 return error; 144 return error;
148} 145}
149 146
@@ -270,7 +267,7 @@ int gfs2_acl_create(struct gfs2_inode *dip, struct gfs2_inode *ip)
270 } else 267 } else
271 munge_mode(ip, mode); 268 munge_mode(ip, mode);
272 269
273 out: 270out:
274 posix_acl_release(acl); 271 posix_acl_release(acl);
275 kfree(er.er_data); 272 kfree(er.er_data);
276 return error; 273 return error;
@@ -303,11 +300,10 @@ int gfs2_acl_chmod(struct gfs2_inode *ip, struct iattr *attr)
303 error = gfs2_ea_acl_chmod(ip, &el, attr, data); 300 error = gfs2_ea_acl_chmod(ip, &el, attr, data);
304 } 301 }
305 302
306 out: 303out:
307 posix_acl_release(acl); 304 posix_acl_release(acl);
308 brelse(el.el_bh); 305 brelse(el.el_bh);
309 kfree(data); 306 kfree(data);
310
311 return error; 307 return error;
312} 308}
313 309