Re: A small patch?

David S. Miller (davem@jenolan.rutgers.edu)
Mon, 2 Jun 1997 16:33:10 -0400


Date: Mon, 2 Jun 1997 13:12:46 -0700 (PDT)
From: Linus Torvalds <torvalds@transmeta.com>

H.J. can you trace it back one more function? If I know where the
wait queue things are getting called from, and on what type of object,
I can better think about fixing it properly.

Note that "next" is initialized to WAIT_QUEUE_HEAD(p), which cannot be
NULL unless "p" is a totally invalid pointer (in which case you'd get a
fault at the *p assignment anyway). And the "next = head" assignment
obviously only happens if head is non-NULL, so next cannot become NULL
there either.

Yes, I do believe it is some inode corruption/race. Mark Hemment sent
me some detailed analysis of some possible problems in the inode code,
which I will be looking into, so I think those bugs might be
percolating here in the form of corrupted inode wait queues...

---------------------------------------------////
Yow! 11.26 MB/s remote host TCP bandwidth & ////
199 usec remote TCP latency over 100Mb/s ////
ethernet. Beat that! ////
-----------------------------------------////__________ o
David S. Miller, davem@caip.rutgers.edu /_____________/ / // /_/ ><