Re: [PATCH tip/core/rcu 8/9] net/netfilter: Replace rcu_swap_protected() with rcu_replace()

From: Paul E. McKenney
Date: Wed Oct 09 2019 - 11:37:07 EST


On Tue, Oct 08, 2019 at 04:16:11PM +0200, Pablo Neira Ayuso wrote:
> On Wed, Oct 02, 2019 at 06:43:09PM -0700, paulmck@xxxxxxxxxx wrote:
> > From: "Paul E. McKenney" <paulmck@xxxxxxxxxx>
> >
> > This commit replaces the use of rcu_swap_protected() with the more
> > intuitively appealing rcu_replace() as a step towards removing
> > rcu_swap_protected().
> >
> > Link: https://lore.kernel.org/lkml/CAHk-=wiAsJLw1egFEE=Z7-GGtM6wcvtyytXZA1+BHqta4gg6Hw@xxxxxxxxxxxxxx/
> > Reported-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx>
> > Cc: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
> > Cc: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxx>
> > Cc: Florian Westphal <fw@xxxxxxxxx>
> > Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
> > Cc: <netfilter-devel@xxxxxxxxxxxxxxx>
> > Cc: <coreteam@xxxxxxxxxxxxx>
> > Cc: <netdev@xxxxxxxxxxxxxxx>
>
> Acked-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>

Applied, thank you!

Thanx, Paul

> > ---
> > net/netfilter/nf_tables_api.c | 5 +++--
> > 1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
> > index d481f9b..8499baf 100644
> > --- a/net/netfilter/nf_tables_api.c
> > +++ b/net/netfilter/nf_tables_api.c
> > @@ -1461,8 +1461,9 @@ static void nft_chain_stats_replace(struct nft_trans *trans)
> > if (!nft_trans_chain_stats(trans))
> > return;
> >
> > - rcu_swap_protected(chain->stats, nft_trans_chain_stats(trans),
> > - lockdep_commit_lock_is_held(trans->ctx.net));
> > + nft_trans_chain_stats(trans) =
> > + rcu_replace(chain->stats, nft_trans_chain_stats(trans),
> > + lockdep_commit_lock_is_held(trans->ctx.net));
> >
> > if (!nft_trans_chain_stats(trans))
> > static_branch_inc(&nft_counters_enabled);
> > --
> > 2.9.5
> >