lkml.org 
[lkml]   [2007]   [Oct]   [17]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateWed, 17 Oct 2007 11:18:36 -0700 (PDT)
FromLinus Torvalds <>
SubjectRe: [bug] block subsystem related crash with latest -git

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.

				Linus
-
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/

\
 
 \ /
  Last update: 2007-10-17 20:21    [from the cache]
©2003-2008