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 [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/