Messages in this thread Patch in this message | | | From | Steven Whitehouse <> | Subject | [PATCH 1/4] GFS2: write_end error path fails to unlock transaction lock | Date | Tue, 19 Apr 2011 09:40:06 +0100 |
| |
From: Bob Peterson <rpeterso@redhat.com>
I did an audit of gfs2's transaction glock for bugzilla bug 658619 and ran across this:
In function gfs2_write_end, in the unlikely event that gfs2_meta_inode_buffer returns an error, the code may forget to unlock the transaction lock because the "failed" label appears after the call to function gfs2_trans_end.
Signed-off-by: Bob Peterson <rpeterso@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
diff --git a/fs/gfs2/aops.c b/fs/gfs2/aops.c index c71995b..0f5c4f9 100644 --- a/fs/gfs2/aops.c +++ b/fs/gfs2/aops.c @@ -884,8 +884,8 @@ static int gfs2_write_end(struct file *file, struct address_space *mapping, } brelse(dibh); - gfs2_trans_end(sdp); failed: + gfs2_trans_end(sdp); if (al) { gfs2_inplace_release(ip); gfs2_quota_unlock(ip); -- 1.7.4
| |