On Thu, 2019-01-24 at 01:13 -0500, Douglas Gilbert wrote:
> > I can replicate this crash easily. I also noticed that this crash only 
> > occurs if
> > the scsi_debug driver is loaded with fake_rw=0. It does not occur with 
> > fake_rw=1.
> > It seems like the following code in resp_write_same() assumes that 
> > fake_storep != NULL?
> > 
> >     /* if ndob then zero 1 logical block, else fetch 1 logical block */
> >     if (ndob) {
> >             memset(fake_storep + lba_off, 0, sdebug_sector_size);
> >             ret = 0;
> >     } else
> >             ret = fetch_to_dev_buffer(scp, fake_storep + lba_off,
> >                                       sdebug_sector_size);
> 
> It is table driven. It shouldn't call that function if FF_MEDIA_IO is part of
> that command's flag and fake_storep is NULL. Both WS10 and WS16 have that 
> flag.
> 
> But there is a problem if virtual_gb > 0 .
> 
> Could you try the attached patch, it should wrap cleanly in the virtual_gb > 0
> case.

Hi Doug,

With this patch applied the libiscsi tests no longer cause the scsi_debug to 
trigger
a kernel oops.

Thanks!

Bart.

Reply via email to