In net/core/dev.c Line 820 you will find:
cli();
__skb_unlink(skb,&backlog); <----
sti();
And now looking into include/linux/skbuff.h Line 391:
extern __inline__ void __skb_unlink(struct sk_buff *skb, struct sk_buff_head
*list)
{
struct sk_buff * next, * prev;
list->qlen--;
next = skb->next;
prev = skb->prev;
skb->next = NULL;
skb->prev = NULL;
skb->list = NULL;
next->prev = prev; <-----
prev->next = next;
}
The arrow indicates the line where my machine crashes. The problem is that the
pointer "next" is a NULL-pointer! Am I right if I guess that you are removing an
element out of a list here? It looks like my machine is crashing in the special
case, that the last element is removed out of the list. I will try to implement
a work around with case differentiation. So till next time ...
Carsten
----------------------------------
E-Mail: Carsten Jacobi <carsten@jakes.kawo1.rwth-aachen.de>
Date: 11-Aug-98
Time: 11-Aug-9
Phone-Number: +49-241-878117
Fax-Number: +49-241-878189
This message was sent by XFMail
----------------------------------
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html