On Wed, 2016-08-24 at 13:55 +0200, Florian Westphal wrote: > Conntrack gc worker to evict stale entries. > static struct nf_conn * > __nf_conntrack_alloc(struct net *net, > const struct nf_conntrack_zone *zone, > @@ -1527,6 +1597,7 @@ static int untrack_refs(void) > > void nf_conntrack_cleanup_start(void) > { > + conntrack_gc_work.exiting = true; > RCU_INIT_POINTER(ip_ct_attach, NULL); > } > > @@ -1536,6 +1607,9 @@ void nf_conntrack_cleanup_end(void) > while (untrack_refs() > 0) > schedule(); > > + cancel_delayed_work_sync(&conntrack_gc_work.dwork); > + /* can be re-scheduled once */ Are you sure ? As conntrack_gc_work.exiting = true, I do not see how this can happen ? > + cancel_delayed_work_sync(&conntrack_gc_work.dwork); > nf_ct_free_hashtable(nf_conntrack_hash, nf_conntrack_htable_size); > > nf_conntrack_proto_fini(); > @@ -1810,6 +1884,10 @@ int nf_conntrack_init_start(void) > } > /* - and look it like as a confirmed connection */ > nf_ct_untracked_status_or(IPS_CONFIRMED | IPS_UNTRACKED); > + > + conntrack_gc_work_init(&conntrack_gc_work); > + schedule_delayed_work(&conntrack_gc_work.dwork, GC_INTERVAL); > + > return 0; > > err_proto: -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html