On Tue, Feb 22, 2022 at 12:07:05PM -0800, Eric Dumazet wrote: > On Tue, Feb 22, 2022 at 11:46 AM Florian Westphal <fw@xxxxxxxxx> wrote: > > > > Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote: > > > From: Eric Dumazet <edumazet@xxxxxxxxxx> > > > > > > While kfree_rcu(ptr) _is_ supported, it has some limitations. > > > > > > Given that 99.99% of kfree_rcu() users [1] use the legacy > > > two parameters variant, and @catchall objects do have an rcu head, > > > simply use it. > > > > > > Choice of kfree_rcu(ptr) variant was probably not intentional. > > > > In case someone wondered, this causes expensive > > sycnhronize_rcu + kfree for each removal operation. > > This fallback to synchronize_rcu() only happens if kvfree_call_rcu() has been > unable to allocate a new block of memory. > > But yes, I guess I would add a Fixes: tag, because we can easily avoid > this potential issue. > > Pablo, if not too late: > > Fixes: aaa31047a6d2 ("netfilter: nftables: add catch-all set element support") Applied, thanks!