From: Chris Wright <chrisw@osdl.org>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: Justin Forbes <jmforbes@linuxtx.org>,
Zwane Mwaikambo <zwane@arm.linux.org.uk>,
"Theodore Ts'o" <tytso@mit.edu>,
Randy Dunlap <rdunlap@xenotime.net>,
Chuck Wolber <chuckw@quantumlinux.com>,
torvalds@osdl.org, akpm@osdl.org, alan@lxorguk.ukuu.org.uk,
shemminger@osdl.org
Subject: [patch 09/09] [PKT_SCHED]: netem: duplication fix
Date: Wed, 8 Jun 2005 17:24:07 -0700 [thread overview]
Message-ID: <20050609002407.GP13152@shell0.pdx.osdl.net> (raw)
In-Reply-To: <20050608234637.GG13152@shell0.pdx.osdl.net>
Netem duplication can cause infinite loop in qdisc_run
because the qlen of the parent qdisc is not affected by the duplication.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Chris Wright <chrisw@osdl.org>
Index: 2.6.11.11-net/net/sched/sch_netem.c
===================================================================
--- 2.6.11.11-net.orig/net/sched/sch_netem.c
+++ 2.6.11.11-net/net/sched/sch_netem.c
@@ -184,10 +184,15 @@ static int netem_enqueue(struct sk_buff
/* Random duplication */
if (q->duplicate && q->duplicate >= get_crandom(&q->dup_cor)) {
struct sk_buff *skb2 = skb_clone(skb, GFP_ATOMIC);
-
- pr_debug("netem_enqueue: dup %p\n", skb2);
- if (skb2)
- delay_skb(sch, skb2);
+ if (skb2) {
+ struct Qdisc *rootq = sch->dev->qdisc;
+ u32 dupsave = q->duplicate;
+
+ /* prevent duplicating a dup... */
+ q->duplicate = 0;
+ rootq->enqueue(skb2, rootq);
+ q->duplicate = dupsave;
+ }
}
/* If doing simple delay then gap == 0 so all packets
prev parent reply other threads:[~2005-06-09 0:27 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-06-08 23:46 [00/09] -stable review Chris Wright
2005-06-08 23:52 ` [patch 01/09] try_to_unmap_cluster() passes out-of-bounds pte to pte_unmap() Chris Wright
2005-06-08 23:55 ` [patch 02/09] [NETFILTER]: Fix deadlock with ip_queue and tcp local input path Chris Wright
2005-06-09 0:00 ` [patch 03/09] fix hfsplus oops, hfs and hfsplus leak Chris Wright
2005-06-09 0:04 ` [patch 04/09] x86_64: avoid SMP boot up race Chris Wright
2005-09-14 3:13 ` Horms
2005-09-14 6:29 ` Chris Wright
2005-06-09 0:08 ` [patch 05/09] x86_64: Fix ptrace boundary check Chris Wright
2005-06-09 0:14 ` [patch 06/09] Fix for bttv driver (v0.9.15) for Leadtek WinFast VC100 XP capture cards Chris Wright
2005-06-09 0:18 ` [patch 07/09] ext3: fix log_do_checkpoint() assertion failure Chris Wright
2005-06-09 0:21 ` [patch 08/09] [BRIDGE]: prevent bad forwarding table updates Chris Wright
2005-06-09 0:24 ` Chris Wright [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050609002407.GP13152@shell0.pdx.osdl.net \
--to=chrisw@osdl.org \
--cc=akpm@osdl.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=chuckw@quantumlinux.com \
--cc=jmforbes@linuxtx.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rdunlap@xenotime.net \
--cc=shemminger@osdl.org \
--cc=stable@kernel.org \
--cc=torvalds@osdl.org \
--cc=tytso@mit.edu \
--cc=zwane@arm.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox