diff options
author | WANG Cong <xiyou.wangcong@gmail.com> | 2014-02-11 17:07:32 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-02-12 19:23:32 -0500 |
commit | a5b5c958ffd1610545d6b4b8290aa9c5266d10fa (patch) | |
tree | 532a87c5ae6d0c2f2f766820c051f7a5b8f7a366 /net/sched/act_pedit.c | |
parent | 86062033feb8a1692f7a3d570c652f1b4a4b4b52 (diff) |
net_sched: act: refactor cleanup ops
For bindcnt and refcnt etc., they are common for all actions,
not need to repeat such operations for their own, they can be unified
now. Actions just need to do its specific cleanup if needed.
Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/act_pedit.c')
-rw-r--r-- | net/sched/act_pedit.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/net/sched/act_pedit.c b/net/sched/act_pedit.c index 091ced38a37..8aa795b275f 100644 --- a/net/sched/act_pedit.c +++ b/net/sched/act_pedit.c @@ -99,18 +99,11 @@ static int tcf_pedit_init(struct net *net, struct nlattr *nla, return ret; } -static int tcf_pedit_cleanup(struct tc_action *a, int bind) +static void tcf_pedit_cleanup(struct tc_action *a, int bind) { struct tcf_pedit *p = a->priv; - - if (p) { - struct tc_pedit_key *keys = p->tcfp_keys; - if (tcf_hash_release(a, bind)) { - kfree(keys); - return 1; - } - } - return 0; + struct tc_pedit_key *keys = p->tcfp_keys; + kfree(keys); } static int tcf_pedit(struct sk_buff *skb, const struct tc_action *a, |