]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
netfilter: ipset: let destroy callbacks adjust ext mem size
authorFlorian Westphal <fw@strlen.de>
Thu, 6 Aug 2026 14:17:50 +0000 (16:17 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 10 Aug 2026 18:28:25 +0000 (20:28 +0200)
commit490937b88cb592cc0c5367758edd700fd5abd15c
tree4e094ed9e63583e6def336948b8daffb8697153f
parent4cbd69766b35a089664cadb1f613bb85f7ef77a9
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: 9e41f26a505c ("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>
net/netfilter/ipset/ip_set_bitmap_gen.h
net/netfilter/ipset/ip_set_list_set.c