* [PATCH net-next] pkt_sched: sch_generic: Kfree gso_skb in qdisc_reset()
@ 2008-11-03 9:02 Jarek Poplawski
2008-11-03 9:27 ` David Miller
0 siblings, 1 reply; 4+ messages in thread
From: Jarek Poplawski @ 2008-11-03 9:02 UTC (permalink / raw)
To: David Miller; +Cc: netdev
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.
Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
---
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index 318c9f6..cdf064b 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -542,6 +542,8 @@ void qdisc_reset(struct Qdisc *qdisc)
if (ops->reset)
ops->reset(qdisc);
+
+ kfree_skb(qdisc->gso_skb);
}
EXPORT_SYMBOL(qdisc_reset);
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH net-next] pkt_sched: sch_generic: Kfree gso_skb in qdisc_reset()
2008-11-03 9:02 [PATCH net-next] pkt_sched: sch_generic: Kfree gso_skb in qdisc_reset() Jarek Poplawski
@ 2008-11-03 9:27 ` David Miller
2008-11-03 9:48 ` [PATCH v2 " Jarek Poplawski
0 siblings, 1 reply; 4+ messages in thread
From: David Miller @ 2008-11-03 9:27 UTC (permalink / raw)
To: jarkao2; +Cc: netdev
From: Jarek Poplawski <jarkao2@gmail.com>
Date: Mon, 3 Nov 2008 09:02:25 +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.
>
> Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
Isn't it necessary, or at least more tidy, to NULL out
this value too?
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2 net-next] pkt_sched: sch_generic: Kfree gso_skb in qdisc_reset()
2008-11-03 9:27 ` David Miller
@ 2008-11-03 9:48 ` Jarek Poplawski
2008-11-03 10:53 ` David Miller
0 siblings, 1 reply; 4+ messages in thread
From: Jarek Poplawski @ 2008-11-03 9:48 UTC (permalink / raw)
To: David Miller; +Cc: netdev
On Mon, Nov 03, 2008 at 01:27:55AM -0800, David Miller wrote:
...
> Isn't it necessary, or at least more tidy, to NULL out
> this value too?
Sure it is!
Thanks!
Jarek P.
-----------------------> take 2
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>
---
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);
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2 net-next] pkt_sched: sch_generic: Kfree gso_skb in qdisc_reset()
2008-11-03 9:48 ` [PATCH v2 " Jarek Poplawski
@ 2008-11-03 10:53 ` David Miller
0 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2008-11-03 10:53 UTC (permalink / raw)
To: jarkao2; +Cc: netdev
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.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-11-03 10:53 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-03 9:02 [PATCH net-next] pkt_sched: sch_generic: Kfree gso_skb in qdisc_reset() Jarek Poplawski
2008-11-03 9:27 ` David Miller
2008-11-03 9:48 ` [PATCH v2 " Jarek Poplawski
2008-11-03 10:53 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).