All of lore.kernel.org
 help / color / mirror / Atom feed
* [BKPATCH] [BEFS] fix resource leak on register_filesystem failure
@ 2003-09-24 18:51 Will Dyson
  0 siblings, 0 replies; only message in thread
From: Will Dyson @ 2003-09-24 18:51 UTC (permalink / raw)
  To: linux-kernel, linux-fsdevel

Marco Cova noticed a bug in befs's init code. He said:

> It seems there's a (very) rare-case bug in linuxvfs.c:init_befs_fs
> In the current implementation, if register_filesystem() fails, the
> memory allocated through befs_init_inodecache() is not deallocated.

He also provided the trivial patch below (modulo my renaming of the goto
labels).

# This is a BitKeeper generated patch for the following project:
# Project Name: Linux kernel tree
# This patch format is intended for GNU patch command version 2.5 or
higher.
# This patch includes the following deltas:
#	           ChangeSet	1.1228  -> 1.1230 
#	  fs/befs/linuxvfs.c	1.8     -> 1.10   
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/09/22	will@thalience.(none)	1.1229
# Fix slab memory leak when register_filesystem fails.
# Caught by Marco Cova
# --------------------------------------------
# 03/09/22	will@thalience.(none)	1.1230
# Fixup for previous cset
# --------------------------------------------
#
diff -Nru a/fs/befs/linuxvfs.c b/fs/befs/linuxvfs.c
--- a/fs/befs/linuxvfs.c	Mon Sep 22 23:11:17 2003
+++ b/fs/befs/linuxvfs.c	Mon Sep 22 23:11:17 2003
@@ -939,9 +941,19 @@
 
 	err = befs_init_inodecache();
 	if (err)
-		return err;
+		goto unaquire_none;
+
+	err = register_filesystem(&befs_fs_type);
+	if (err)
+		goto unaquire_inodecache;
+
+	return 0;
+
+unaquire_inodecache:
+	befs_destroy_inodecache();
 
-	return register_filesystem(&befs_fs_type);
+unaquire_none:
+	return err;
 }
 
 static void __exit


-- 
Will Dyson
"Back off man, I'm a scientist!" -Dr. Peter Venkman


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

only message in thread, other threads:[~2003-09-24 18:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-09-24 18:51 [BKPATCH] [BEFS] fix resource leak on register_filesystem failure Will Dyson

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.