linux/net/netfilter/ipset
Florian Westphal 490937b88c netfilter: ipset: let destroy callbacks adjust ext mem size
For bitmap this change makes no difference, because destructors are
called synchronously.

List type however calls them via call_rcu() so accounting decrement can
happen after list_set_flush() set ext_size to 0.

'set->elements = 0' can be removed for the same reason in the list type
case, it calls 'set->elements--' for each element.

Fixes: 9e41f26a50 ("netfilter: ipset: Count non-static extension memory for userspace")
Suggested-by: Jozsef Kadlecsik <kadlec@netfilter.org>
Signed-off-by: Florian Westphal <fw@strlen.de>
Acked-by: Jozsef Kadlecsik <kadlec@netfilter.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
History 2026-08-10 20:28:25 +02:00
..
ip_set_bitmap_gen.h netfilter: ipset: let destroy callbacks adjust ext mem size 2026-08-10 20:28:25 +02:00
ip_set_bitmap_ip.c netfilter: ipset: Don't use test_bit() in lockless RCU readers in bitmap types 2026-06-21 00:18:26 +02:00
ip_set_bitmap_ipmac.c netfilter: ipset: Don't use test_bit() in lockless RCU readers in bitmap types 2026-06-21 00:18:26 +02:00
ip_set_bitmap_port.c netfilter: ipset: Don't use test_bit() in lockless RCU readers in bitmap types 2026-06-21 00:18:26 +02:00
ip_set_core.c netfilter: ipset: fix refcount race between list:set GC and swap 2026-08-10 20:10:31 +02:00
ip_set_getport.c netfilter: ipset: move ip_set_get_ip_port() to ip_set_bitmap_port.c. 2019-10-07 23:59:02 +02:00
ip_set_hash_gen.h netfilter: ipset: add and use mtype_del_cidr_all helper 2026-07-31 15:58:03 +02:00
ip_set_hash_ip.c netfilter: ipset: Rework long task execution when adding/deleting entries 2023-01-02 15:10:05 +01:00
ip_set_hash_ipmac.c netfilter: require Ethernet MAC header before using eth_hdr() 2026-04-10 12:16:27 +02:00
ip_set_hash_ipmark.c netfilter: ipset: stop hash:* range iteration at end 2026-05-16 13:21:15 +02:00
ip_set_hash_ipport.c netfilter: ipset: stop hash:* range iteration at end 2026-05-16 13:21:15 +02:00
ip_set_hash_ipportip.c netfilter: ipset: stop hash:* range iteration at end 2026-05-16 13:21:15 +02:00
ip_set_hash_ipportnet.c netfilter: ipset: rework cidr bookkeeping 2026-07-31 15:56:50 +02:00
ip_set_hash_mac.c netfilter: require Ethernet MAC header before using eth_hdr() 2026-04-10 12:16:27 +02:00
ip_set_hash_net.c netfilter: ipset: rework cidr bookkeeping 2026-07-31 15:56:50 +02:00
ip_set_hash_netiface.c netfilter: ipset: rework cidr bookkeeping 2026-07-31 15:56:50 +02:00
ip_set_hash_netnet.c netfilter: ipset: rework cidr bookkeeping 2026-07-31 15:56:50 +02:00
ip_set_hash_netport.c netfilter: ipset: rework cidr bookkeeping 2026-07-31 15:56:50 +02:00
ip_set_hash_netportnet.c netfilter: ipset: rework cidr bookkeeping 2026-07-31 15:56:50 +02:00
ip_set_list_set.c netfilter: ipset: let destroy callbacks adjust ext mem size 2026-08-10 20:28:25 +02:00
Kconfig netfilter: add option for GCOV profiling 2026-05-24 22:55:47 +02:00
Makefile netfilter: add option for GCOV profiling 2026-05-24 22:55:47 +02:00
pfxlen.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00