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