Messages in this thread | | | Date | Mon, 20 Oct 2003 09:09:24 +0200 | From | Jens Axboe <> | Subject | Re: 2.6.0-test8, DEBUG_SLAB, oops in as_latter_request() |
| |
On Mon, Oct 20 2003, Nick Piggin wrote: > > > Andrew Morton wrote: > > >Peter Osterlund <petero2@telia.com> wrote: > > > >>I was running 2.6.0-test8 compiled with CONFIG_DEBUG_SLAB=y. When > >>testing the CDRW packet writing driver, I got an oops in > >>as_latter_request. (Full oops at the end of this message.) It is > >>repeatable and happens because arq->rb_node.rb_right is uninitialized. > >> > > > >deadline seems to have the same problem. > > > >We may as well squish this with the big hammer? > > > > Thanks for the report, Peter. > > The request is a special request, so either blk_attempt_remerge should > never be called on it, or blk_attempt_remerge (or as_latter_request) should > check for this. Its up to Jens. > > I would say to stick something like > if (!rq_mergeable(rq)) > return; > > into blk_attempt_remerge. > > I'd say we shouldn't expect drivers to try to get this right.
attempt_merge() already includes such a check. To me it looks really buggy that elv_latter_request() cannot be called on non-fs requests, I'd rather get that fixed like Peter suggests. elv_latter_request() should work on all requests in the io sched queue, period.
-- 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/
| |