Files
twx-linux/include/linux
Jozsef Kadlecsik a24d5f2ac8 netfilter: ipset: fix performance regression in swap operation
commit 97f7cf1cd8 upstream.

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.

Link: https://lore.kernel.org/lkml/C0829B10-EAA6-4809-874E-E1E9C05A8D84@automattic.com/
Fixes: 28628fa952 ("netfilter: ipset: fix race condition between swap/destroy and kernel side add/del/test")
Reported-by: Ale Crismani <ale.crismani@automattic.com>
Reported-by: David Wang <00107082@163.com>
Tested-by: David Wang <00107082@163.com>
Signed-off-by: Jozsef Kadlecsik <kadlec@netfilter.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-02-23 08:42:31 +01:00
..
2024-01-25 14:37:54 -08:00
2024-02-23 08:41:51 +01:00
2023-12-20 15:44:30 +01:00
2023-12-08 08:46:15 +01:00
2023-10-25 11:54:20 +02:00
2023-11-20 11:06:46 +01:00
2023-06-21 15:45:38 +02:00
2023-08-26 15:26:57 +02:00
2024-01-25 14:37:40 -08:00
2024-02-23 08:42:11 +01:00
2023-11-28 16:54:53 +00:00
2023-10-25 11:54:13 +02:00
2023-10-25 11:54:13 +02:00
2024-02-23 08:41:51 +01:00