From: Sasha Levin Date: Wed, 7 Aug 2024 19:08:58 +0000 (-0400) Subject: Fixes for 6.1 X-Git-Tag: v6.1.104~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2c2dae92785dcc8090cfc60d9268ef745b574555;p=thirdparty%2Fkernel%2Fstable-queue.git Fixes for 6.1 Signed-off-by: Sasha Levin --- diff --git a/queue-6.1/netfilter-ipset-add-list-flush-to-cancel_gc.patch b/queue-6.1/netfilter-ipset-add-list-flush-to-cancel_gc.patch new file mode 100644 index 00000000000..cf3984bdad8 --- /dev/null +++ b/queue-6.1/netfilter-ipset-add-list-flush-to-cancel_gc.patch @@ -0,0 +1,39 @@ +From 463e65cd03753cc09f9c79547a830ffbe652c057 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Wed, 17 Apr 2024 18:51:41 +0500 +Subject: netfilter: ipset: Add list flush to cancel_gc + +From: Alexander Maltsev + +[ Upstream commit c1193d9bbbd379defe9be3c6de566de684de8a6f ] + +Flushing list in cancel_gc drops references to other lists right away, +without waiting for RCU to destroy list. Fixes race when referenced +ipsets can't be destroyed while referring list is scheduled for destroy. + +Fixes: 97f7cf1cd80e ("netfilter: ipset: fix performance regression in swap operation") +Signed-off-by: Alexander Maltsev +Acked-by: Jozsef Kadlecsik +Signed-off-by: Pablo Neira Ayuso +Signed-off-by: Sasha Levin +--- + net/netfilter/ipset/ip_set_list_set.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/net/netfilter/ipset/ip_set_list_set.c b/net/netfilter/ipset/ip_set_list_set.c +index e839c356bcb56..902ff2f3bc72b 100644 +--- a/net/netfilter/ipset/ip_set_list_set.c ++++ b/net/netfilter/ipset/ip_set_list_set.c +@@ -547,6 +547,9 @@ list_set_cancel_gc(struct ip_set *set) + + if (SET_WITH_TIMEOUT(set)) + del_timer_sync(&map->gc); ++ ++ /* Flush list to drop references to other ipsets */ ++ list_set_flush(set); + } + + static const struct ip_set_type_variant set_variant = { +-- +2.43.0 + diff --git a/queue-6.1/series b/queue-6.1/series index 19b65df23ee..b98ed62a276 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -84,3 +84,4 @@ mptcp-fix-bad-rcvpruned-mib-accounting.patch mptcp-pm-only-set-request_bkup-flag-when-sending-mp_prio.patch mptcp-fix-duplicate-data-handling.patch selftests-mptcp-always-close-input-s-fd-if-opened.patch +netfilter-ipset-add-list-flush-to-cancel_gc.patch