Selaa lähdekoodia

[PKT_SCHED]: netetm: trap infinite loop hange on qlen underflow

Due to bugs in netem (fixed by later patches), it is possible to get qdisc
qlen to go negative. If this happens the CPU ends up spinning forever
in qdisc_run(). So add a BUG_ON() to trap it.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger 20 vuotta sitten
vanhempi
commit
8cbe1d46d6
1 muutettua tiedostoa jossa 1 lisäystä ja 0 poistoa
  1. 1 0
      net/sched/sch_generic.c

+ 1 - 0
net/sched/sch_generic.c

@@ -179,6 +179,7 @@ requeue:
 		netif_schedule(dev);
 		netif_schedule(dev);
 		return 1;
 		return 1;
 	}
 	}
+	BUG_ON((int) q->q.qlen < 0);
 	return q->q.qlen;
 	return q->q.qlen;
 }
 }