kfree(cachep->lists.shared); cachep->lists.shared = NULL; 
for_each_online_node(i) { if ((l3 = cachep->nodelists[i])) { kfree(l3->shared); free_alien_cache(l3->alien); kfree(l3); } } 
int kmem_cache_destroy(kmem_cache_t * cachep){	int i;	if (!cachep || in_interrupt())		BUG();	/* Don't let CPUs to come and go */	lock_cpu_hotplug();	/* Find the cache in the chain of caches. */	down(&cache_chain_sem);	/*	 * the chain is never empty, cache_cache is never destroyed	 */	list_del(&cachep->next);	up(&cache_chain_sem);	if (__cache_shrink(cachep)) {		slab_error(cachep, "Can't free all objects");		down(&cache_chain_sem);		list_add(&cachep->next,&cache_chain);		up(&cache_chain_sem);		unlock_cpu_hotplug();		return 1;	}	if (unlikely(cachep->flags & SLAB_DESTROY_BY_RCU))		synchronize_rcu();	/* no cpu_online check required here since we clear the percpu	 * array on cpu offline and set this to NULL.	 */	for (i = 0; i < NR_CPUS; i++)		kfree(cachep->array[i]);	/* NUMA: free the list3 structures */	kfree(cachep->lists.shared);	cachep->lists.shared = NULL;	kmem_cache_free(&cache_cache, cachep);	unlock_cpu_hotplug();	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/e498be7dafd72fd68848c1eef1575aa7c5d658df/slab.c/clean/mm/slab.c