summaryrefslogtreecommitdiffstats
path: root/net/netfilter/nf_nat_masquerade.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2022-04-08 13:10:19 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2022-05-13 18:56:27 +0200
commit8169ff584003c871a226719e998bb034231954d6 (patch)
treed17f5fabbcd5f2faf63dca4091ada15017e6eda7 /net/netfilter/nf_nat_masquerade.c
parent0bcfbafbcd345f285db0c3788e6359ceac6a008c (diff)
downloadlinux-8169ff584003c871a226719e998bb034231954d6.tar.gz
linux-8169ff584003c871a226719e998bb034231954d6.tar.bz2
linux-8169ff584003c871a226719e998bb034231954d6.zip
netfilter: conntrack: add nf_ct_iter_data object for nf_ct_iterate_cleanup*()
This patch adds a structure to collect all the context data that is passed to the cleanup iterator. struct nf_ct_iter_data { struct net *net; void *data; u32 portid; int report; }; There is a netns field that allows to clean up conntrack entries specifically owned by the specified netns. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'net/netfilter/nf_nat_masquerade.c')
-rw-r--r--net/netfilter/nf_nat_masquerade.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/netfilter/nf_nat_masquerade.c b/net/netfilter/nf_nat_masquerade.c
index e32fac374608..1a506b0c6511 100644
--- a/net/netfilter/nf_nat_masquerade.c
+++ b/net/netfilter/nf_nat_masquerade.c
@@ -77,11 +77,14 @@ EXPORT_SYMBOL_GPL(nf_nat_masquerade_ipv4);
static void iterate_cleanup_work(struct work_struct *work)
{
+ struct nf_ct_iter_data iter_data = {};
struct masq_dev_work *w;
w = container_of(work, struct masq_dev_work, work);
- nf_ct_iterate_cleanup_net(w->net, w->iter, (void *)w, 0, 0);
+ iter_data.net = w->net;
+ iter_data.data = (void *)w;
+ nf_ct_iterate_cleanup_net(w->iter, &iter_data);
put_net_track(w->net, &w->ns_tracker);
kfree(w);