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: b57dc7c13e
("net/sched: Introduce action ct")
Signed-off-by: Paul Blakey <paulb@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
2de9780f75
Коммит
dd2af10402
|
@ -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(¶ms->rcu, tcf_ct_params_free);
|
||||
if (res == ACT_P_CREATED)
|
||||
tcf_idr_insert(tn, *a);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче