net_sched: act: action flushing missaccounting
authorJamal Hadi Salim <jhs@mojatatu.com>
Mon, 23 Dec 2013 13:02:13 +0000 (08:02 -0500)
committerDavid S. Miller <davem@davemloft.net>
Mon, 6 Jan 2014 21:46:56 +0000 (16:46 -0500)
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>
net/sched/act_api.c

index 2b69e537baa94a29a3723b2d22769f032cca3262..f63e1467cd3a7f4094b292d031f6e5c79f009735 100644 (file)
@@ -126,9 +126,10 @@ 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++;
+                               n_i++;
+                       }
                }
        }
        if (nla_put_u32(skb, TCA_FCNT, n_i))