Re: [PATCH 6.6 295/322] netfilter: ipset: fix performance regression in swap operation

Greg Kroah-Hartman
2024-02-04T12:48:57Z

On Sun, Feb 04, 2024 at 02:00:12PM +0700, Bagas Sanjaya wrote:
> On Fri, Feb 02, 2024 at 08:06:32PM -0800, Greg Kroah-Hartman wrote:
> > 6.6-stable review patch. If anyone has any objections, please let me know.
> >
> > ------------------
> >
> > From: Jozsef Kadlecsik <kadlec@netfilter.org>
> >
> > [ Upstream commit 97f7cf1cd80eeed3b7c808b7c12463295c751001 ]
> >
> > The patch "netfilter: ipset: fix race condition between swap/destroy
> > and kernel side add/del/test", commit 28628fa9 fixes a race condition.
> > But the synchronize_rcu() added to the swap function unnecessarily slows
> > it down: it can safely be moved to destroy and use call_rcu() instead.
> >
> > Eric Dumazet pointed out that simply calling the destroy functions as
> > rcu callback does not work: sets with timeout use garbage collectors
> > which need cancelling at destroy which can wait. Therefore the destroy
> > functions are split into two: cancelling garbage collectors safely at
> > executing the command received by netlink and moving the remaining
> > part only into the rcu callback.
>
> Hi,
>
> Стас Ничипорович <stasn77@gmail.com> reported ipset kernel panic with this
> patch [1]. He noted that reverting it fixed the regression.
>
> Thanks.
>
> [1]: https://lore.kernel.org/stable/CAH37n11s_8qjBaDrao3PKct4FriCWNXHWBBHe-ddMYHSw4wK0Q@mail.gmail.com/

Is this also an issue in Linus's tree?

thanks,

greg k-h