Don't call kmem_cache_create with a spinlock held
Subsystems (3)
PATCH 1/1 Don't call kmem_cache_create with a spinlock held
Hi David,
Please pull from:
bk://kernel.bkbits.net/acme/net-2.6
Best Regards,
- Arnaldo
===================================================================
[email protected], 2005-04-05 14:52:51-03:00, [email protected]
[NET] Don't call kmem_cache_create with a spinlock held
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]>
sock.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-)
net/core/sock.c +4 -5
@@ -1359,8 +1359,6 @@ {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 @@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; }