goto out_unlock; 
goto out; 
int proto_register(struct proto *prot, int alloc_slab){	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);		if (prot->slab == NULL) {			printk(KERN_CRIT "%s: Can't create sock SLAB cache!\n",			       prot->name);			goto out_unlock;		}	}	list_add(&prot->node, &proto_list);	rc = 0;out_unlock:	write_unlock(&proto_list_lock);	return rc;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/2a27805127aee1e7e62854bcf9ca8c355c23b73e/sock.c/clean/net/core/sock.c