netfilter: nf_conncount: speculative garbage collection on empty lists
authorPablo Neira Ayuso <[email protected]>
Fri, 28 Dec 2018 00:24:48 +0000 (01:24 +0100)
committerPablo Neira Ayuso <[email protected]>
Sat, 29 Dec 2018 01:45:22 +0000 (02:45 +0100)
commitc80f10bc973af2ace6b1414724eeff61eaa71837
treedb8a8a15e3a8c50b8a8a5626e200bf955a0eea89
parent2f971a8f425545da52ca0e6bee81f5b1ea0ccc5f
netfilter: nf_conncount: speculative garbage collection on empty lists

Instead of removing a empty list node that might be reintroduced soon
thereafter, tentatively place the empty list node on the list passed to
tree_nodes_free(), then re-check if the list is empty again before erasing
it from the tree.

[ Florian: rebase on top of pending nf_conncount fixes ]

Fixes: 5c789e131cbb9 ("netfilter: nf_conncount: Add list lock and gc worker, and RCU for init tree search")
Reviewed-by: Shawn Bohrer <[email protected]>
Signed-off-by: Florian Westphal <[email protected]>
Signed-off-by: Pablo Neira Ayuso <[email protected]>
include/net/netfilter/nf_conntrack_count.h
net/netfilter/nf_conncount.c