Message ID | 20081103094830.GA6030@ff.dom.local |
---|---|
State | Accepted, archived |
Headers | show |
From: Jarek Poplawski <jarkao2@gmail.com> Date: Mon, 3 Nov 2008 09:48:30 +0000 > pkt_sched: sch_generic: Kfree gso_skb in qdisc_reset() > > Since gso_skb is re-used for qdisc_peek_dequeued(), and this skb is > counted in the qdisc->q.qlen, it has to be kfreed during qdisc_reset() > when qlen is zeroed. > > With help from David S. Miller <davem@davemloft.net> > > Signed-off-by: Jarek Poplawski <jarkao2@gmail.com> Applied, thanks Jarek. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c index 318c9f6..1192da2 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c @@ -542,6 +542,9 @@ void qdisc_reset(struct Qdisc *qdisc) if (ops->reset) ops->reset(qdisc); + + kfree_skb(qdisc->gso_skb); + qdisc->gso_skb = NULL; } EXPORT_SYMBOL(qdisc_reset);