From: Peter Osterlund <petero2@telia.com>
To: Jens Axboe <axboe@suse.de>, Nick Piggin <piggin@cyberone.com.au>
Cc: Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: 2.6.0-test8, DEBUG_SLAB, oops in as_latter_request()
Date: 19 Oct 2003 21:54:38 +0200 [thread overview]
Message-ID: <m2ismlovep.fsf@p4.localdomain> (raw)
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.
Although I have only seen this when using the packet writing driver, I
don't think that driver is causing the problem. It isn't doing
anything fancy with the cdrom request queue. It is only submitting a
bunch of read/write requests using submit_bio() when the oops happens.
This patch appears to fix the problem, but I haven't tried to
understand the AS code, so I don't know if this is the correct
solution.
--- linux/drivers/block/as-iosched.c~ 2003-10-09 18:54:36.000000000 +0200
+++ linux/drivers/block/as-iosched.c 2003-10-19 20:33:45.000000000 +0200
@@ -1718,6 +1718,7 @@
struct as_rq *arq = mempool_alloc(ad->arq_pool, gfp_mask);
if (arq) {
+ memset(&arq->rb_node, 0, sizeof(struct rb_node));
RB_CLEAR(&arq->rb_node);
arq->request = rq;
arq->state = AS_RQ_NEW;
Here is the oops:
Unable to handle kernel paging request at virtual address 5a5a5a66
printing eip:
c02213ef
*pde = 00000000
Oops: 0000 [#1]
CPU: 0
EIP: 0060:[<c02213ef>] Not tainted
EFLAGS: 00010006
EIP is at rb_next+0xf/0x60
eax: 5a5a5a5a ebx: c5ec0510 ecx: c373597c edx: 5a5a5a5a
esi: c373597c edi: 00000292 ebp: c3375d98 esp: c3375d98
ds: 007b es: 007b ss: 0068
Process ld (pid: 1290, threadinfo=c3374000 task=c3656fc0)
Stack: c3375da4 c0266df4 c5e8277c c3375db4 c025d37e c5ec0510 c373597c c3375de4
c02609df c5ec0510 c373597c c373597c c3375de4 c027da4c 00000000 c5e59d2c
c373597c c041280c c5e59d2c c3375e04 c027dab2 c5ec0510 c373597c 00000000
Call Trace:
[<c0266df4>] as_latter_request+0x14/0x30
[<c025d37e>] elv_latter_request+0x2e/0x30
[<c02609df>] blk_attempt_remerge+0x8f/0x1a0
[<c027da4c>] restore_request+0xcc/0xe0
[<c027dab2>] cdrom_start_read+0x52/0xb0
[<c027eab4>] ide_do_rw_cdrom+0x74/0x190
[<c026b141>] start_request+0x181/0x290
[<c026b4c3>] ide_do_request+0x243/0x4c0
[<c026c1ab>] ide_intr+0x36b/0x5d0
[<c027d220>] cdrom_read_intr+0x0/0x3f0
[<c010c1bb>] handle_IRQ_event+0x3b/0x70
[<c010c7d1>] do_IRQ+0x141/0x3b0
[<c010a6f8>] common_interrupt+0x18/0x20
[<c0127d1d>] do_softirq+0x4d/0xb0
[<c010c8e5>] do_IRQ+0x255/0x3b0
[<c015d9aa>] sys_brk+0xfa/0x130
[<c010a6f8>] common_interrupt+0x18/0x20
Code: 8b 40 0c 85 c0 74 13 8d 76 00 8d bc 27 00 00 00 00 89 c2 8b
<0>Kernel panic: Fatal exception in interrupt
In interrupt handler - not syncing
--
Peter Osterlund - petero2@telia.com
http://w1.894.telia.com/~u89404340
next reply other threads:[~2003-10-19 19:55 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-10-19 19:54 Peter Osterlund [this message]
2003-10-19 21:20 ` 2.6.0-test8, DEBUG_SLAB, oops in as_latter_request() Andrew Morton
2003-10-20 0:25 ` Nick Piggin
2003-10-20 7:09 ` Jens Axboe
2003-10-20 8:08 ` Nick Piggin
2003-10-20 19:37 ` Peter Osterlund
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m2ismlovep.fsf@p4.localdomain \
--to=petero2@telia.com \
--cc=axboe@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=piggin@cyberone.com.au \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox