Messages in this thread | | | From | Linus Torvalds <> | Date | Wed, 25 May 2011 16:14:52 -0700 | Subject | Re: [PATCH] SCSI IOCTL: Check for device deletion [was Re: __elv_add_request OOPS] |
| |
On Wed, May 25, 2011 at 4:00 PM, Parag Warudkar <parag.lkml@gmail.com> wrote: > > It doesn't seem to help. Machine locked up and I was dropped to text > console. I could only capture the oops by a camera.
Hmm. That's a different oops. It is now in scsi_prep_state_check().
At the beginning of it too. You can't see the "Code: " line in the pictures, but the only dereference I see there is "sdev" itself being NULL. And %cr2 is 0x640, which would seem to agree (the 'sdev' structure is absolutely disgustingly big, and sdev->sdev_state is indeed at an offset in that region.
That 'sdev' comes from scsi_prep_fn() doing
struct scsi_device *sdev = q->queuedata;
is that queuedata perhaps cleared even if the queue itself stays around due to refcounts?
Linus
| |