Re: ACPI/HT or Packet Scheduler BUG?

From: Tarhon-Onu Victor
Date: Thu Apr 14 2005 - 10:47:46 EST


On Tue, 12 Apr 2005, Tarhon-Onu Victor wrote:

So the problem should be looked in that changes to the pkt sched API, the patch containing only those changes is at

The bug is in this portion of code from net/sched/sch_generic.c, in the qdisc_destroy() function:

==
list_for_each_entry(cq, &cql, list)
list_for_each_entry_safe(q, n, &qdisc->dev->qdisc_list, list)
if (TC_H_MAJ(q->parent) == TC_H_MAJ(cq->handle)) {
if (q->ops->cl_ops == NULL)
list_del_init(&q->list);
else
list_move_tail(&q->list, &cql);
}
list_for_each_entry_safe(cq, n, &cql, list)
list_del_init(&cq->list);
==

...and it happens when q->ops->cl_ops is NULL and list_del_init(&q->list) is executed.

The stuff from include/linux/list.h looks ok, it seems like one of those two iterations (list_for_each_entry() and list_for_each_entry_safe()) enters an endless loop when an element is removed from the list under some circumstances.

--
Tarhon-Onu Victor
Area Technical Coordinator
RDS Iasi - Network Operations Center
www.rdsnet.ro, www.rdstel.ro, www.rdslink.ro
Phone: +40-232-218385; Fax: +40-232-260099
..........................................................................
Privileged/Confidential Information may be contained in this message. If
you are not the addressee indicated in this message (or responsible for
delivery of the message to such person), you may not copy or deliver this
message to anyone. In such a case, you should destroy this message and
kindly notify the sender by reply e-mail.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/