On Wed, May 11, 2022 at 07:46:34AM +0200, Florian Westphal wrote: > Jakub Kicinski <kuba@xxxxxxxxxx> wrote: > > On Tue, 10 May 2022 14:21:34 +0200 Pablo Neira Ayuso wrote: > > > +next: > > > + sent = 0; > > > + spin_lock_bh(&cnet->ecache.dying_lock); > > > + > > > + hlist_nulls_for_each_entry_safe(h, n, &cnet->ecache.dying_list, hnnode) { > > ... > > > + if (sent++ > 16) { > > > + spin_unlock_bh(&cnet->ecache.dying_lock); > > > + cond_resched(); > > > + spin_lock_bh(&cnet->ecache.dying_lock); > > > + goto next; > > > > sparse seems right, the looking looks off in this function > > Pablo, its probably best to squash this, what do you think? yes florian, i'll squash it > diff --git a/net/netfilter/nf_conntrack_ecache.c b/net/netfilter/nf_conntrack_ecache.c > --- a/net/netfilter/nf_conntrack_ecache.c > +++ b/net/netfilter/nf_conntrack_ecache.c > @@ -75,7 +75,6 @@ static enum retry_state ecache_work_evict_list(struct nf_conntrack_net *cnet) > if (sent++ > 16) { > spin_unlock_bh(&cnet->ecache.dying_lock); > cond_resched(); > - spin_lock_bh(&cnet->ecache.dying_lock); > goto next; > } > }