Re: [bug] block subsystem related crash with latest -git

Linus Torvalds
2007-10-17T18:59:32Z

On Wed, 17 Oct 2007, Jens Axboe wrote:
>
> For the chain elements - yes, definitely! But we also want to clear dma
> mapping output values, at least sparc64 wants that. You could argue that
> the IOMMU code should be fixed up, but I don't think we should mix the
> two.
>
> So we need the memset() in blk_rq_map_sg() AS WELL AS the initial sg
> table clear. I'm not arguing about the latter, we clearly do need that.

I still don't see your argument.

The SG table is *already*zeroed*.

The fact that output values will be changed later is irrelevant. They
haven't been changed *before* - or at least you haven't given a reasonable
explanation for why they should have.

So explain to me why the memset() in blk_rq_map_sg() helps, considering
that the memory must have been zeroed at allocation time anyway? Tell me
what it is that fills any of the fields we don't already initialize, and
that can happen *before* that memset?

Linus