lkml.org 
[lkml]   [2000]   [Dec]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectOops in pdev_sort_resources
Alpha DP264, test12.  Panic during boot.

I copied this from the console (by hand):

swapper(1): Oops 0
pc = [<fffffc000044a4a4>] ra = [<fffffc000044a4dc>] ps = 0000
v0 = fffffc003ff70300 t0 = 0000000000000001 t1 = 00000000000001f7
t2 = 00000000000001f0 t3 = 0000000000000000 t4 = 00000000000003f6
t5 = 00000000000003f6 t6 = 0000000000000001 t7 = fffffc00015f8000
s0 = 0000000000000000 s1 = fffffc003ff6a8b8 s2 = 0000000000000000
s3 = 0000000000000000 s4 = 0000000000000000 s5 = 0000000000000000
s6 = 0000000000000000
a0 = 0000000000000000 a1 = 0000000000000000 a2 = 0000000000000000
a3 = 0000000000000000 a4 = 0000000000000000 a5 = 0000000000000000
t8 = 0000000000000000 t9 = 0000000000000000 t10= 0000000000000000
t11= 0000000000000000 pv = fffffc000033f260 at = 0000000000000000
gp = fffffc00004b2000 sp = fffffc00015fbd20
Code: a4ca0010 ldq t5,16(s1)
a4aa0008 ldq t4,8(s1)
c3e00003 br .+16
47ff041f or zero,zero,zero
2fe00000 ldq_u zero,0(v0)
47e9040b or zero,s0,s2
*a52b0000 ldq s0,0(s2)
40c50524 subq t5,t4,t3

Trace:310080 310080 310080 310098 310630 310080 310604 3105d8 310604
Kernel panic: Attempted to kill init!

Ksymoops (2.3.5) refused to process it (couldn't find the Code line) but
it did locate this code in pdev_sort_resources() in
drivers/pci/setup-res.c, which was compiled as

gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -O2
-fomit-frame-pointer -fno-strict-aliasing -pipe -mno-fp-regs -ffixed-8
-mcpu=ev6 -Wa,-mev6 -c -o setup-res.o setup-res.c

resulting in:

ldq $6,16($10)
ldq $5,8($10)
br $31,$L911
.align 4
$L913:
mov $9,$11 list = list->next
$L911:
ldq $9,0($11) ln = list->next
subq $6,$5,$4

in which $L913: is the top of the loop:

for (list = head; ; list = list->next) {
unsigned long size = 0;
struct resource_list *ln = list->next;

if (ln)
size = ln->res->end - ln->res->start;
if (r->end - r->start > size) {
tmp = kmalloc(sizeof(*tmp), GFP_KERNEL);
tmp->next = ln;
tmp->res = r;
tmp->dev = dev;
list->next = tmp;
break;
}
}

So, presumably, near the end of the loop list->next is NULL and
the line
struct resource_list *ln = list->next;
causes the oops.

Dr. Tom Holroyd
"I am, as I said, inspired by the biological phenomena in which
chemical forces are used in repetitious fashion to produce all
kinds of weird effects (one of which is the author)."
-- Richard Feynman, _There's Plenty of Room at the Bottom_

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

\
 
 \ /
  Last update: 2005-03-22 12:51    [W:0.030 / U:0.136 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site