Fernando Fernandez Mancera
b160895d6b
netfilter: nf_conncount: rework API to use sk_buff directly
...
[ Upstream commit be102eb6a0 ]
When using nf_conncount infrastructure for non-confirmed connections a
duplicated track is possible due to an optimization introduced since
commit d265929930 ("netfilter: nf_conncount: reduce unnecessary GC").
In order to fix this introduce a new conncount API that receives
directly an sk_buff struct. It fetches the tuple and zone and the
corresponding ct from it. It comes with both existing conncount variants
nf_conncount_count_skb() and nf_conncount_add_skb(). In addition remove
the old API and adjust all the users to use the new one.
This way, for each sk_buff struct it is possible to check if there is a
ct present and already confirmed. If so, skip the add operation.
Fixes: d265929930 ("netfilter: nf_conncount: reduce unnecessary GC")
Signed-off-by: Fernando Fernandez Mancera <fmancera@suse.de >
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org >
Stable-dep-of: 69894e5b4c ("netfilter: nft_connlimit: update the count if add was skipped")
Signed-off-by: Sasha Levin <sashal@kernel.org >
2026-01-19 13:09:35 +01:00
..
2022-08-17 14:24:07 +02:00
2025-05-02 07:44:25 +02:00
2021-07-01 13:19:48 -07:00
2021-01-28 20:36:21 -08:00
2026-01-19 13:09:35 +01:00
2025-03-13 12:50:43 +01:00
2025-12-07 06:09:20 +09:00
2025-05-02 07:44:04 +02:00
2025-12-07 06:09:28 +09:00
2025-12-07 06:09:28 +09:00
2024-04-17 11:15:14 +02:00
2021-04-23 10:17:26 +01:00
2024-05-02 16:24:47 +02:00
2022-03-23 09:16:41 +01:00
2022-04-13 20:59:05 +02:00
2022-04-20 09:34:22 +02:00
2021-08-03 13:05:25 +01:00
2025-08-28 16:24:38 +02:00
2023-06-14 11:13:00 +02:00
2023-06-05 09:21:19 +02:00
2023-08-30 16:18:15 +02:00
2021-03-26 17:43:55 +01:00
2024-09-04 13:23:40 +02:00
2025-08-28 16:24:20 +02:00
2024-04-10 16:18:39 +02:00
2025-06-27 11:05:38 +01:00
2025-12-07 06:09:22 +09:00
2021-08-05 11:46:42 +01:00
2021-08-14 13:59:10 +01:00
2024-04-27 17:05:29 +02:00
2021-12-08 09:04:46 +01:00
2022-02-16 12:56:30 +01:00
2024-06-16 13:39:59 +02:00
2025-03-13 12:50:58 +01:00
2022-04-27 14:38:52 +02:00
2021-12-08 09:04:43 +01:00
2025-03-13 12:50:52 +01:00
2025-03-13 12:50:52 +01:00
2024-10-17 15:11:57 +02:00
2021-01-21 13:33:45 +01:00
2021-01-21 13:33:45 +01:00
2024-11-01 01:52:34 +01:00
2021-01-29 20:39:14 -08:00
2021-03-18 19:51:12 -07:00
2021-06-28 14:29:45 -07:00
2021-08-13 09:58:25 +02:00
2022-10-26 12:35:54 +02:00
2023-12-20 15:17:34 +01:00
2024-06-16 13:39:21 +02:00
2021-01-27 18:18:15 -08:00
2025-01-23 17:15:49 +01:00
2020-12-14 18:38:58 -08:00
2022-01-27 11:05:35 +01:00
2024-06-16 13:39:21 +02:00
2022-08-17 14:23:36 +02:00
2021-07-21 08:14:33 -07:00
2023-09-19 12:22:58 +02:00
2021-08-05 15:08:47 -07:00
2022-05-09 09:14:36 +02:00
2023-10-25 11:59:00 +02:00
2025-10-29 14:03:08 +01:00
2023-05-24 17:36:46 +01:00
2023-09-19 12:22:58 +02:00
2022-01-27 11:05:35 +01:00
2024-03-06 14:38:50 +00:00
2025-04-10 14:31:48 +02:00
2024-09-04 13:23:32 +02:00
2025-03-13 12:50:35 +01:00
2024-12-19 18:07:20 +01:00
2024-02-23 08:54:27 +01:00
2021-11-18 19:17:10 +01:00
2023-09-19 12:22:34 +02:00
2025-08-28 16:24:21 +02:00
2023-10-19 23:05:34 +02:00
2024-10-17 15:11:57 +02:00
2021-08-25 11:23:14 +01:00
2021-03-26 15:14:56 -07:00
2023-01-12 11:58:52 +01:00
2022-12-31 13:14:42 +01:00
2022-03-08 19:12:33 +01:00
2023-06-21 15:59:19 +02:00
2025-05-02 07:44:23 +02:00
2021-07-27 11:43:50 +01:00
2021-09-24 14:07:10 +01:00
2021-12-01 09:04:46 +01:00
2023-06-05 09:21:22 +02:00
2021-08-30 16:33:59 -07:00
2025-12-07 06:09:12 +09:00
2022-11-10 18:15:38 +01:00
2021-08-09 15:34:21 -07:00
2022-07-21 21:24:27 +02:00
2021-03-25 17:40:43 -07:00
2020-07-31 09:24:23 +02:00
2024-07-05 09:14:41 +02:00
2025-03-13 12:50:42 +01:00
2023-06-14 11:13:02 +02:00
2025-10-29 14:03:11 +01:00
2025-05-22 14:08:22 +02:00
2023-05-11 23:00:26 +09:00
2022-05-18 10:26:53 +02:00
2022-01-27 11:05:05 +01:00
2021-04-28 14:06:45 -07:00
2020-09-28 15:19:03 -07:00
2022-12-31 13:14:07 +01:00
2026-01-19 13:09:23 +01:00
2021-08-03 13:05:26 +01:00
2024-03-06 14:38:47 +00:00
2021-08-04 12:35:07 +01:00
2024-10-17 15:11:08 +02:00
2025-12-07 06:09:31 +09:00
2022-09-15 11:30:05 +02:00
2025-08-28 16:24:13 +02:00
2023-04-26 13:51:54 +02:00
2023-08-11 15:13:54 +02:00
2022-06-14 18:36:18 +02:00
2021-06-24 19:41:15 +02:00
2023-06-05 09:21:21 +02:00
2026-01-19 13:09:18 +01:00
2023-05-11 23:00:27 +09:00