[Cluster-devel] [PATCH][GFS2] Memory leak on revoke error

Bob Peterson <[email protected]>
Newsgroups com.redhat.cluster-devel
Message-ID <[email protected]>
Hi,

I ran across this rare memory leak in revoke_lo_scan_elements
while working on bz 349271.  This patch is for upstream gfs2.

Regards,

Bob Peterson
--
Signed-off-by: Bob Peterson <[email protected]> 
--
 fs/gfs2/lops.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/fs/gfs2/lops.c b/fs/gfs2/lops.c
index 29a8689..6dfcf4c 100644
--- a/fs/gfs2/lops.c
+++ b/fs/gfs2/lops.c
@@ -421,8 +421,10 @@ static int revoke_lo_scan_elements(struct gfs2_jdesc *jd, unsigned int start,
 			blkno = be64_to_cpu(*(__be64 *)(bh->b_data + offset));
 
 			error = gfs2_revoke_add(sdp, blkno, start);
-			if (error < 0)
+			if (error < 0) {
+				brelse(bh);
 				return error;
+			}
 			else if (error)
 				sdp->sd_found_revokes++;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.