Re: Panic at _blk_run_queue on 2.6.32

From: Willy Tarreau
Date: Wed Jul 24 2013 - 17:55:24 EST


Jason,

> Thanks to you first. I'll look for any potentially missing patch after
> this one in newer kernels and will keep you informed. If I can't find
> anything, I'll need James' advice on the subject, and maybe we'll need
> more information about your setup, etc...
>
> > 0ccd644ce6a803b4f7ae5b3b4da614b8a51037cc is the first bad commit
> > commit 0ccd644ce6a803b4f7ae5b3b4da614b8a51037cc
> > Author: James Bottomley <James.Bottomley@xxxxxxx>
> > Date: Fri Apr 22 10:39:59 2011 -0500
> > put stricter guards on queue dead checks
> >
> > commit 86cbfb5607d4b81b1a993ff689bbd2addd5d3a9b upstream.

(...)

I just found this patch from James which got merged in 2.6.39 and
backported to 2.6.32 which was merged into 2.6.32.40 :

commit c055f5b2614b4f758ae6cc86733f31fa4c2c5844
Author: James Bottomley <James.Bottomley@xxxxxxx>
Date: Sun May 1 09:42:07 2011 -0500

[SCSI] fix oops in scsi_run_queue()

The recent commit closing the race window in device teardown:

commit 86cbfb5607d4b81b1a993ff689bbd2addd5d3a9b
Author: James Bottomley <James.Bottomley@xxxxxxx>
Date: Fri Apr 22 10:39:59 2011 -0500

[SCSI] put stricter guards on queue dead checks

is causing a potential NULL deref in scsi_run_queue() because the
q->queuedata may already be NULL by the time this function is called.
Since we shouldn't be running a queue that is being torn down, simply
add a NULL check in scsi_run_queue() to forestall this.

Tested-by: Jim Schutt <jaschut@xxxxxxxxxx>
Cc: stable@xxxxxxxxxx
Signed-off-by: James Bottomley <James.Bottomley@xxxxxxx>

So it is possible that your bisection stopped on the first bug which hides
the real one, but this one was fixed in your faulty kernel. I suggest that
you retry on 2.6.32.40 alone, and if it works, then bisect again between
40 and 42 (which I seem to remember was the first faulty one).

Best regards,
Willy

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/