summaryrefslogtreecommitdiffstats
path: root/net/sched/act_ct.c
diff options
context:
space:
mode:
authorPaul Blakey <paulb@mellanox.com>2020-03-18 11:50:33 +0100
committerDavid S. Miller <davem@davemloft.net>2020-03-19 00:37:06 +0100
commitdd2af10402684cb5840a127caec9e7cdcff6d167 (patch)
tree8d85f700e3cd5db399caab601042acc97879f1e2 /net/sched/act_ct.c
parentnet: core: dev.c: fix a documentation warning (diff)
downloadlinux-dd2af10402684cb5840a127caec9e7cdcff6d167.tar.xz
linux-dd2af10402684cb5840a127caec9e7cdcff6d167.zip
net/sched: act_ct: Fix leak of ct zone template on replace
Currently, on replace, the previous action instance params is swapped with a newly allocated params. The old params is only freed (via kfree_rcu), without releasing the allocated ct zone template related to it. Call tcf_ct_params_free (via call_rcu) for the old params, so it will release it. Fixes: b57dc7c13ea9 ("net/sched: Introduce action ct") Signed-off-by: Paul Blakey <paulb@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--net/sched/act_ct.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/sched/act_ct.c b/net/sched/act_ct.c
index f685c0d73708..41114b463161 100644
--- a/net/sched/act_ct.c
+++ b/net/sched/act_ct.c
@@ -739,7 +739,7 @@ static int tcf_ct_init(struct net *net, struct nlattr *nla,
if (goto_ch)
tcf_chain_put_by_act(goto_ch);
if (params)
- kfree_rcu(params, rcu);
+ call_rcu(&params->rcu, tcf_ct_params_free);
if (res == ACT_P_CREATED)
tcf_idr_insert(tn, *a);