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? 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; } }