Commit e7e424cd authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller

net_sched: sch_hhf: defer skb freeing

Both hhf_reset() and hhf_change() can use rtnl_kfree_skbs()
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ece5d4c7
...@@ -464,7 +464,7 @@ static void hhf_reset(struct Qdisc *sch) ...@@ -464,7 +464,7 @@ static void hhf_reset(struct Qdisc *sch)
struct sk_buff *skb; struct sk_buff *skb;
while ((skb = hhf_dequeue(sch)) != NULL) while ((skb = hhf_dequeue(sch)) != NULL)
kfree_skb(skb); rtnl_kfree_skbs(skb, skb);
} }
static void *hhf_zalloc(size_t sz) static void *hhf_zalloc(size_t sz)
...@@ -574,7 +574,7 @@ static int hhf_change(struct Qdisc *sch, struct nlattr *opt) ...@@ -574,7 +574,7 @@ static int hhf_change(struct Qdisc *sch, struct nlattr *opt)
while (sch->q.qlen > sch->limit) { while (sch->q.qlen > sch->limit) {
struct sk_buff *skb = hhf_dequeue(sch); struct sk_buff *skb = hhf_dequeue(sch);
kfree_skb(skb); rtnl_kfree_skbs(skb, skb);
} }
qdisc_tree_reduce_backlog(sch, qlen - sch->q.qlen, qdisc_tree_reduce_backlog(sch, qlen - sch->q.qlen,
prev_backlog - sch->qstats.backlog); prev_backlog - sch->qstats.backlog);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment