Re: SCSI breakage on non-cache coherent architectures

Benjamin Herrenschmidt
2007-11-19T19:53:18Z

On Mon, 2007-11-19 at 05:32 -0700, Matthew Wilcox wrote:
> On Mon, Nov 19, 2007 at 04:35:23PM +1100, Benjamin Herrenschmidt wrote:
> > The other one I'm hitting now is that the SCSI layer nowadays embeds the
>
> 'nowadays'? It has always been so.

Wasn't it kmalloc'ed at one point ?

> > sense_buffer inside the scsi_cmnd structure without any kind of
> > alignment whatsoever. I've been hitting irregulary is a crash on SCSI command
> > completion that seems to be related to corruption of the "request"
> > pointer in struct scsi_cmnd and I think it might be the cause.
> > I'm now trying to setup a proper repro-case.
>
> What other drivers do is DMA to their own allocation and then memcpy to
> the sense buffer.

What "other drivers" ? Those architectures use the same drivers as
everything else.

> There is a movement to allocate the sense data as its own sg list, but
> I don't think that patch has even been posted yet.

I've seen code creating an sglist from the scsi_cmnd->sense_buffer and
passing that to drivers. That breaks.

Ben.