Juha Saarinen wrote:
> :: The address is not in kernel space. Either you
> :: mis{copied,typed} it or
> :: it really was wrong. In the latter case it would cause the oops.
>
> Bugger. 0s look very like 8s with ATI VGA... ;-). OK, here we are:
>
> md 0xca02da80
>
> 0xca02da80 00000000 00000000 00001000 00000307
> 0xca02da90 00000000 00000307 0000000c 00001ee8
> 0xca02daa0 ca0dec20 ca521980 ca02da80 00000000
> 0xca02dab0 00000000 cb836000 c130efbc c017d9d0
> 0xca02dac0 cbd86be0 00000000 00000001 ca02dacc
> 0xca02dad0 ca02dacc 00000000 cb269838 cb553c18
> 0xca02dae0 00000000 00008e53 00001000 00000308
> 0xca02daf0 00000000 00000308 00000019 00000000
>
> Make sense?
Well yup that's a buffer head size 4k device (3,7)
but it may be helpful to find out what make_request was doing
with that buffer head when it crashed.
take this script (odump) run it with the line
odump kernel .text 0xc0100000 oxc020fc00 0xc02103ca
(the like right after __make_request in the kdb backtrace)
This should give you the disassembly of __make_request
if you have the kernel built with -g3 the source lines will
be intermixed with the assembly.
#!/bin/sh
set -x
if [ $1 = "kernel" ]; then
objdump -S -j $2 \
--start-address=$4 \
--stop-address=$5 \
linux/vmlinux
else
objdump -S -j $2 \
--adjust-vma=$3 \
--start-address=$4 \
--stop-address=$5 \
linux/modules/$1.o
fi
--
Russell Cattelan
cattelan@xxxxxxxxxxx
|