Subject: Re: [PATCH net-next 01/17] netfilter: ecache: use dedicated list for event redelivery

From: Florian Westphal <[email-masked]>
Date: Wed, 11 May 2022 07:46:34 +0200

Jakub Kicinski <[email-masked]> 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;
 		}
 	}