/* wait until all references to ip_conntrack_untracked are dropped */ while (atomic_read(&ip_conntrack_untracked.ct_general.use) > 1) schedule(); 
void ip_conntrack_cleanup(void){	ip_ct_attach = NULL;	/* This makes sure all current packets have passed through           netfilter framework.  Roll on, two-stage module           delete... */	synchronize_net();  i_see_dead_people:	ip_ct_iterate_cleanup(kill_all, NULL);	if (atomic_read(&ip_conntrack_count) != 0) {		schedule();		goto i_see_dead_people;	}	kmem_cache_destroy(ip_conntrack_cachep);	kmem_cache_destroy(ip_conntrack_expect_cachep);	free_conntrack_hash();	nf_unregister_sockopt(&so_getorigdst);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/21f930e4abdcb9649f26e5b959c14dddee4e600b/ip_conntrack_core.c/clean/net/ipv4/netfilter/ip_conntrack_core.c