[patch 021/198] net: don't call kmem_cache_create with a spinlock held
From: Arnaldo Carvalho de Melo <[EMAIL PROTECTED]> This fixes the warning reported by Marcel Holtmann (Thanks!). Signed-off-by: Arnaldo Carvalho de Melo <[EMAIL PROTECTED]> Signed-off-by: David S. Miller <[EMAIL PROTECTED]> Signed-off-by: Andrew Morton <[EMAIL PROTECTED]> --- 25-akpm/net/core/sock.c |9 - 1 files changed, 4 insertions(+), 5 deletions(-) diff -puN net/core/sock.c~dont-call-kmem_cache_create-with-a-spinlock-held net/core/sock.c --- 25/net/core/sock.c~dont-call-kmem_cache_create-with-a-spinlock-held 2005-04-12 03:21:08.325871176 -0700 +++ 25-akpm/net/core/sock.c 2005-04-12 03:21:08.329870568 -0700 @@ -1359,8 +1359,6 @@ int proto_register(struct proto *prot, i { int rc = -ENOBUFS; - write_lock(_list_lock); - if (alloc_slab) { prot->slab = kmem_cache_create(prot->name, prot->obj_size, 0, SLAB_HWCACHE_ALIGN, NULL, NULL); @@ -1368,14 +1366,15 @@ int proto_register(struct proto *prot, i if (prot->slab == NULL) { printk(KERN_CRIT "%s: Can't create sock SLAB cache!\n", prot->name); - goto out_unlock; + goto out; } } + write_lock(_list_lock); list_add(>node, _list); - rc = 0; -out_unlock: write_unlock(_list_lock); + rc = 0; +out: return rc; } _ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[patch 021/198] net: don't call kmem_cache_create with a spinlock held
From: Arnaldo Carvalho de Melo [EMAIL PROTECTED] This fixes the warning reported by Marcel Holtmann (Thanks!). Signed-off-by: Arnaldo Carvalho de Melo [EMAIL PROTECTED] Signed-off-by: David S. Miller [EMAIL PROTECTED] Signed-off-by: Andrew Morton [EMAIL PROTECTED] --- 25-akpm/net/core/sock.c |9 - 1 files changed, 4 insertions(+), 5 deletions(-) diff -puN net/core/sock.c~dont-call-kmem_cache_create-with-a-spinlock-held net/core/sock.c --- 25/net/core/sock.c~dont-call-kmem_cache_create-with-a-spinlock-held 2005-04-12 03:21:08.325871176 -0700 +++ 25-akpm/net/core/sock.c 2005-04-12 03:21:08.329870568 -0700 @@ -1359,8 +1359,6 @@ int proto_register(struct proto *prot, i { int rc = -ENOBUFS; - write_lock(proto_list_lock); - if (alloc_slab) { prot-slab = kmem_cache_create(prot-name, prot-obj_size, 0, SLAB_HWCACHE_ALIGN, NULL, NULL); @@ -1368,14 +1366,15 @@ int proto_register(struct proto *prot, i if (prot-slab == NULL) { printk(KERN_CRIT %s: Can't create sock SLAB cache!\n, prot-name); - goto out_unlock; + goto out; } } + write_lock(proto_list_lock); list_add(prot-node, proto_list); - rc = 0; -out_unlock: write_unlock(proto_list_lock); + rc = 0; +out: return rc; } _ - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/