All of lore.kernel.org
 help / color / mirror / Atom feed
* [Cluster-devel] [fsck.gfs2 PATCH] fsck.gfs2: Fix a use-after-free in pass2
       [not found] <1763987001.10016993.1421339702066.JavaMail.zimbra@redhat.com>
@ 2015-01-15 16:35 ` Bob Peterson
  0 siblings, 0 replies; only message in thread
From: Bob Peterson @ 2015-01-15 16:35 UTC (permalink / raw)
  To: cluster-devel.redhat.com

Hi,

This patch fixes a rare code path that's doing use-after-free
I spotted in pass2.

Regards,

Bob Peterson
Red Hat File Systems

Signed-off-by: Bob Peterson <rpeterso@redhat.com> 
---
diff --git a/gfs2/fsck/pass2.c b/gfs2/fsck/pass2.c
index 27b7336..4ea322a 100644
--- a/gfs2/fsck/pass2.c
+++ b/gfs2/fsck/pass2.c
@@ -1928,13 +1928,14 @@ int pass2(struct gfs2_sbd *sdp)
 			ip = fsck_load_inode(sdp, dirblk);
 			cur_blks = ip->i_di.di_blocks;
 			error = check_metatree(ip, &pass2_fxns);
-			fsck_inode_put(&ip);
 			if (error < 0) {
 				stack;
+				fsck_inode_put(&ip);
 				return error;
 			}
 			if (ip->i_di.di_blocks != cur_blks)
 				reprocess_inode(ip, "current");
+			fsck_inode_put(&ip);
 		}
 		error = check_dir(sdp, dirblk, &pass2_fxns);
 		if (skip_this_pass || fsck_abort) /* if asked to skip the rest */



^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2015-01-15 16:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <1763987001.10016993.1421339702066.JavaMail.zimbra@redhat.com>
2015-01-15 16:35 ` [Cluster-devel] [fsck.gfs2 PATCH] fsck.gfs2: Fix a use-after-free in pass2 Bob Peterson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.