 list_del(&prot->node); write_unlock(&proto_list_lock); 
void proto_unregister(struct proto *prot){	write_lock(&proto_list_lock);	if (prot->slab != NULL) {		kmem_cache_destroy(prot->slab);		prot->slab = NULL;	}	if (prot->rsk_prot != NULL && prot->rsk_prot->slab != NULL) {		const char *name = kmem_cache_name(prot->rsk_prot->slab);		kmem_cache_destroy(prot->rsk_prot->slab);		kfree(name);		prot->rsk_prot->slab = NULL;	}	if (prot->twsk_slab != NULL) {		const char *name = kmem_cache_name(prot->twsk_slab);		kmem_cache_destroy(prot->twsk_slab);		kfree(name);		prot->twsk_slab = NULL;	}	list_del(&prot->node);	write_unlock(&proto_list_lock);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/0a3f4358ac6283fe3a565183eaf9716de28b6fd0/sock.c/clean/net/core/sock.c