linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Oops in inlined __skb_dequeue in unix_stream_recvmsg
@ 2003-04-30  1:07 Jeremy Brown
  0 siblings, 0 replies; only message in thread
From: Jeremy Brown @ 2003-04-30  1:07 UTC (permalink / raw)
  To: linux-kernel

Roughly once a day, and usually when I'm not looking, my desktop will
wedge hard with 2.5.68. Most of the time I get no output to my serial
console, even with nmi_watchdog enabled. However, I have now gotten
three oopses, two of them clean, and they all point to the inlined
skb_dequeue() in unix_stream_recvmsg() in net/unix/af_unix.c.

static inline struct sk_buff *__skb_dequeue(struct sk_buff_head *list)
{
	struct sk_buff *next, *prev, *result;

	prev = (struct sk_buff *) list;
	next = prev->next;
	result = NULL;
	if (next != prev) {
		result	     = next;
		next	     = next->next;
		list->qlen--;
		next->prev   = prev;         <<<<<<< OOPS here
		prev->next   = next;
		result->next = result->prev = NULL;
		result->list = NULL;
	}
	return result;
}

In this case, "next" is NULL (after it has been assigned to
next->next, which is just list->next->next, or the second member of
the circularly linked list).

I've put the ksymoops output, system information, and .config on the
following page (44 KB):

http://www.geocities.com/antinousj/oops3.html

(I'm sorry if the Geocities stuff hurls popups at you or something;
it's just a convenient place to publish at the moment.)

I've been noticing this behavior since 2.5.65, but I've only been able
to capture it in 2.5.67 and 2.5.68 due to the fact that I ran out of
magic smoke in my serial terminal and needed some time to air out the
office and find a replacement.

I would be delighted if anybody had a suggestion.

Jeremy Brown

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2003-04-30  0:54 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-04-30  1:07 Oops in inlined __skb_dequeue in unix_stream_recvmsg Jeremy Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).