Re: OOPS in scsi generic stuff 2.4.10-pre6

Douglas Gilbert (dougg@torque.net)
Mon, 17 Sep 2001 00:01:31 -0400


Jens Axboe wrote:
>
> On Sun, Sep 16 2001, Jens Axboe wrote:
> > It looks like a race in that sg_cmd_done_bh can be completed before
> > generic_unplug_device is called (and thus on a free'd scsi request). We
> > then pass an invalid queue to generic_unplug_device.
>
> (corrected version, scsi_allocate_request can of course fail)

Jens,
Prior to this patch (actually the first one you posted
today) sg_dd would frequently crash in generic_unplug_device
when tested against the scsi_debug adapter driver. [I have
hacked up that driver to simulate a large number of (ram)
disks to test Richard Gooch's 2000+ scsi disk patch.]

The way scsi_debug handles all its commands, the bottom
half handler in sg will be called before scsi_do_req()
completes. With this patch the problem goes away.

Doug Gilbert

-
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/