]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - net/sched/act_ctinfo.c
Merge tag 'drm/tegra/for-5.6-rc1-fixes' of git://anongit.freedesktop.org/tegra/linux...
[linux.git] / net / sched / act_ctinfo.c
index 40038c321b4a970dc940714ccda4b39f0d261d6a..19649623493b158b3008c82ce2409ae80ffa6dc6 100644 (file)
@@ -360,6 +360,16 @@ static int tcf_ctinfo_search(struct net *net, struct tc_action **a, u32 index)
        return tcf_idr_search(tn, a, index);
 }
 
+static void tcf_ctinfo_cleanup(struct tc_action *a)
+{
+       struct tcf_ctinfo *ci = to_ctinfo(a);
+       struct tcf_ctinfo_params *cp;
+
+       cp = rcu_dereference_protected(ci->params, 1);
+       if (cp)
+               kfree_rcu(cp, rcu);
+}
+
 static struct tc_action_ops act_ctinfo_ops = {
        .kind   = "ctinfo",
        .id     = TCA_ID_CTINFO,
@@ -367,6 +377,7 @@ static struct tc_action_ops act_ctinfo_ops = {
        .act    = tcf_ctinfo_act,
        .dump   = tcf_ctinfo_dump,
        .init   = tcf_ctinfo_init,
+       .cleanup= tcf_ctinfo_cleanup,
        .walk   = tcf_ctinfo_walker,
        .lookup = tcf_ctinfo_search,
        .size   = sizeof(struct tcf_ctinfo),