aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/rgrp.c
diff options
context:
space:
mode:
authorBob Peterson <rpeterso@redhat.com>2012-01-06 16:48:50 -0500
committerSteven Whitehouse <swhiteho@redhat.com>2012-01-11 04:23:26 -0500
commit49528b4e479195e5db4fe51fcd5ddd97901efc16 (patch)
tree3e27260f25133fbaf7b8d95faa9b73016eac1b13 /fs/gfs2/rgrp.c
parente0c2a9aa1e68455dc3439e95d85cabcaff073666 (diff)
GFS2: Fix a use-after-free that coverity spotted
In function gfs2_inplace_release it was trying to unlock a gfs2_holder structure associated with a reservation, after said reservation was freed. The problem is that the statements have the wrong order. This patch corrects the order so that the reservation is freed after the gfs2_holder is unlocked. Signed-off-by: Bob Peterson <rpeterso@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/rgrp.c')
-rw-r--r--fs/gfs2/rgrp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
index 22234627f684..981bfa32121a 100644
--- a/fs/gfs2/rgrp.c
+++ b/fs/gfs2/rgrp.c
@@ -1108,9 +1108,9 @@ void gfs2_inplace_release(struct gfs2_inode *ip)
1108{ 1108{
1109 struct gfs2_blkreserv *rs = ip->i_res; 1109 struct gfs2_blkreserv *rs = ip->i_res;
1110 1110
1111 gfs2_blkrsv_put(ip);
1112 if (rs->rs_rgd_gh.gh_gl) 1111 if (rs->rs_rgd_gh.gh_gl)
1113 gfs2_glock_dq_uninit(&rs->rs_rgd_gh); 1112 gfs2_glock_dq_uninit(&rs->rs_rgd_gh);
1113 gfs2_blkrsv_put(ip);
1114} 1114}
1115 1115
1116/** 1116/**