net_sched: act: action flushing missaccounting

action flushing missaccounting
Account only for deleted actions

Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Jamal Hadi Salim 2013-12-23 08:02:13 -05:00 committed by David S. Miller
parent 63acd6807c
commit 805c1f4aed
1 changed files with 3 additions and 2 deletions

View File

@ -126,11 +126,12 @@ static int tcf_del_walker(struct sk_buff *skb, struct tc_action *a,
for (i = 0; i < (hinfo->hmask + 1); i++) {
head = &hinfo->htab[tcf_hash(i, hinfo->hmask)];
hlist_for_each_entry_safe(p, n, head, tcfc_head) {
if (ACT_P_DELETED == tcf_hash_release(p, 0, hinfo))
if (ACT_P_DELETED == tcf_hash_release(p, 0, hinfo)) {
module_put(a->ops->owner);
n_i++;
}
}
}
if (nla_put_u32(skb, TCA_FCNT, n_i))
goto nla_put_failure;
nla_nest_end(skb, nest);