Thread (4 messages) flat view 4 messages, 3 authors, 2004-06-21

Re: [patch-kj] net/ipv4/fib_hash.c: check kmem_cache_create()

From: YOSHIFUJI Hideaki / 吉藤英明 <hidden>
Date: 2004-06-21 18:21:38

In article [ref] (at Mon, 21 Jun 2004 19:18:32 +0200), maximilian attems [off-list ref] says:
From: Francois Romieu <romieu@fr.zoreil.com>

kmem_cache_create leak.

Note: fib_hash_init() can be called many times.

Signed-off-by: Maximilian Attems <redacted>
Please tell us what kind of leakage do you see?
Is it just enough to return NULL if kmem_cache_create() fails
like this?
--- a/net/ipv4/fib_hash.c	10 Nov 2003 23:40:57 -0000	1.1.1.13
+++ b/net/ipv4/fib_hash.c	21 Jun 2004 18:19:16 -0000
@@ -871,12 +871,14 @@
 {
 	struct fib_table *tb;
 
-	if (fn_hash_kmem == NULL)
+	if (fn_hash_kmem == NULL) {
 		fn_hash_kmem = kmem_cache_create("ip_fib_hash",
 						 sizeof(struct fib_node),
 						 0, SLAB_HWCACHE_ALIGN,
 						 NULL, NULL);
-
+		if (fn_hash_kmem == NULL)
+			return NULL;
+	}
 	tb = kmalloc(sizeof(struct fib_table) + sizeof(struct fn_hash), GFP_KERNEL);
 	if (tb == NULL)
 		return NULL;
-- 
Hideaki YOSHIFUJI @ USAGI Project <yoshfuji@linux-ipv6.org>
GPG FP: 9022 65EB 1ECF 3AD1 0BDF  80D8 4807 F894 E062 0EEA
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help