Messages in this thread | | | Date | Wed, 17 Oct 2007 20:22:07 +0200 | From | Jens Axboe <> | Subject | Re: [bug] block subsystem related crash with latest -git |
| |
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
- 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/
| |