net_sched: sch_hhf: defer skb freeing
authorEric Dumazet <edumazet@google.com>
Tue, 14 Jun 2016 03:21:55 +0000 (20:21 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 15 Jun 2016 21:08:35 +0000 (14:08 -0700)
Both hhf_reset() and hhf_change() can use rtnl_kfree_skbs()

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_hhf.c

index c517918..c44593b 100644 (file)
@@ -464,7 +464,7 @@ static void hhf_reset(struct Qdisc *sch)
        struct sk_buff *skb;
 
        while ((skb = hhf_dequeue(sch)) != NULL)
-               kfree_skb(skb);
+               rtnl_kfree_skbs(skb, skb);
 }
 
 static void *hhf_zalloc(size_t sz)
@@ -574,7 +574,7 @@ static int hhf_change(struct Qdisc *sch, struct nlattr *opt)
        while (sch->q.qlen > sch->limit) {
                struct sk_buff *skb = hhf_dequeue(sch);
 
-               kfree_skb(skb);
+               rtnl_kfree_skbs(skb, skb);
        }
        qdisc_tree_reduce_backlog(sch, qlen - sch->q.qlen,
                                  prev_backlog - sch->qstats.backlog);