[Linux-cachefs] [PATCH 2/6] 9p: Fix error handling on superblock alloc failure [try #6]

David Howells dhowells at redhat.com
Tue Mar 7 11:33:55 UTC 2006


The attached patch adds error handling and cleanup in the case that sget()
fails, lest a memory leak occur.

Signed-Off-By: David Howells <dhowells at redhat.com>
---

 fs/9p/vfs_super.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/fs/9p/vfs_super.c b/fs/9p/vfs_super.c
index bca1efb..17dee27 100644
--- a/fs/9p/vfs_super.c
+++ b/fs/9p/vfs_super.c
@@ -134,8 +134,11 @@ static int v9fs_get_sb(struct file_syste
 	}
 
 	sb = sget(fs_type, NULL, v9fs_set_super, v9ses);
-	if (IS_ERR(sb))
+	if (IS_ERR(sb)) {
+		v9fs_session_close(v9ses);
+		kfree(v9ses);
 		return PTR_ERR(sb);
+	}
 
 	v9fs_fill_super(sb, v9ses, flags);
 




More information about the Linux-cachefs mailing list