lkml.org 
[lkml]   [2003]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: PROBLEM: ide-cd panic with faulty disk and DMA enabled (2.6.0-test9)
Date
Hi!

I did some more experimenting last night, and I think
I have stumbled upon something. Don't know
what it means or how to fix it though :)

The request is indeed freed by cdrom_end_request.
The reason is that rq->nr_sectors is an insane value.
And that is because restore_request screwed up.

Just before the crash, in restore_request (ide-cd.c:1346 or so):

restore_request: rq = 0xde158f60, rq->buffer = 0x00000000, bio_data(rq->bio) = 0xc654b000, n=1889704
restore_request: dev hdd: flags = REQ_CMD REQ_STARTED
sector 7043336, nr/cnr 240/8
bio de09e610, biotail de09e720, buffer 00000000, data 00000000, len 1515870810

The rq->nr_sectors value of 240 will be adjusted to 1889944!
The fix might be as simple as checking for a NULL rq->buffer, but
I don't really understand what is going on here.

Also, somebody else seems to mess with rq->nr_sectors as well,
because I have added a sanity check to cdrom_read_intr and
it catches another such bug, but this time with no preceding
restore_request call...

Hope this helps.

I have also tried ide-scsi, that crashes spectacularly as well.
But I'll start a new thread for that :-)

Greets,
Csaba

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

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