Messages in this thread Patch in this message | | | Date | Thu, 22 Jan 2009 17:12:06 -0800 | From | Greg KH <> | Subject | [patch 18/46] pkt_sched: sch_htb: Fix deadlock in hrtimers triggered by HTB |
| |
2.6.28-stable review patch. If anyone has any objections, please let us know.
------------------
From: Jarek Poplawski <jarkao2@gmail.com>
[ Upstream commit: none
This is a quick fix for -stable purposes. Upstream fixes these problems via a large set of invasive hrtimer changes. ]
Most probably there is a (still unproven) race in hrtimers (before 2.6.29 kernels), which causes a corruption of hrtimers rbtree. This patch doesn't fix it, but should let HTB avoid triggering the bug.
Reported-by: Denys Fedoryschenko <denys@visp.net.lb> Reported-by: Badalian Vyacheslav <slavon@bigtelecom.ru> Reported-by: Chris Caputo <ccaputo@alt.net> Tested-by: Badalian Vyacheslav <slavon@bigtelecom.ru> Signed-off-by: Jarek Poplawski <jarkao2@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
--- net/sched/sch_htb.c | 1 + 1 file changed, 1 insertion(+)
--- a/net/sched/sch_htb.c +++ b/net/sched/sch_htb.c @@ -924,6 +924,7 @@ static struct sk_buff *htb_dequeue(struc } } sch->qstats.overlimits++; + qdisc_watchdog_cancel(&q->watchdog); qdisc_watchdog_schedule(&q->watchdog, next_event); fin: return skb;
| |