lkml.org 
[lkml]   [2000]   [Mar]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: nbd problems under 2.3.48
[ Friday, March  3, 2000 ] James Manning wrote:
> I tried stripping out all other block devices not needed for booting
> and built-in nbd instead of a module, and still got a very similar
> oops (same place, same process, etc). raw and ksymoops out attached.

The oops is being caused by the following check in nbd_clear_que:

if (lo != &nbd_dev[MINOR(req->rq_dev)]) {

Adding a printk to print out various pointer values right before the
change for things involved (all with %p)

printk(KERN_ALERT "NBD: pointers "
"lo/&queue_head/(&queue_head)->next/req/nbd_dev"
" = %p/%p/%p/%p/%p\n",
lo,&lo->queue_head,(&lo->queue_head)->next,req,nbd_dev);

and then I got the following:

NBD: pointers lo/&queue_head/(&queue_head)->next/req/nbd_dev =
c02edb00/c02edb18/00000000/00000000/c02edb00

since ->next is null and &queue_head isn't (queue_head looks totally
zeroed, actually, which explains ->prev == req also being NULL),
list_empty returns false...

is this a list_empty() bug, then? or could the above pointers actually
be part of a non-empty list? should list_empty be checking head->prev
vs. head->next?

James

-
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.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:56    [W:0.378 / U:0.172 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site