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

Jens Axboe
2007-10-17T18:22:24Z

On Wed, Oct 17 2007, Linus Torvalds wrote:
>
>
> On Wed, 17 Oct 2007, Jens Axboe wrote:
> > >
> > > So avoiding the "sg_next()" on the last entry is pointless.
> >
> > Yeah, I didn't quite understand why if sg was valid, why dereferencing
> > *(sg + 1)->page would crap out :/
>
> Actually, I take that back. If 'sg' is the last entry in a *non*linked
> scatter-gather list (ie we don't use the last entry as a link, we actually
> use it as a real SG entry), then "sg_next(sg)" will indeed access past the
> end of the whole allocated array, and will access one past the end.
>
> And with page-alloc debugging, that *will* blow up.
>
> So I think your change to use "sg_next()" only when you actually need a
> next pointer is the correct one after all.

Thanks, so I'm not totally crazy :-)

Can you just pull:

git://git.kernel.dk/data/git/linux-2.6-block.git for-linus

then so we get those two pieces correct? Then the remaining issue seems
to be a new one that is biting Ingo elsewhere, at least we'll all be on
the same page then.

--
Jens Axboe