2007-09-21 19:07:40

by Gilboa Davara

[permalink] [raw]
Subject: Redundent/missing code in dik_show_trace (arch/alpha/kernel/traps.c)

Hello all,

As the title suggest.
"i" is declared as 0 and never assigned a new value.
Down the code there's an if (i>40) and a certain dangling piece of code.
I assume that I should have gotten a string length (?) from somewhere?

Am I missing something?

- Gilboa

---
static void
dik_show_trace(unsigned long *sp)
{
long i = 0;
printk("Trace:\n");
while (0x1ff8 & (unsigned long) sp) {
extern char _stext[], _etext[];
unsigned long tmp = *sp;
sp++;
if (tmp < (unsigned long) &_stext)
continue;
if (tmp >= (unsigned long) &_etext)
continue;
printk("[<%lx>]", tmp);
print_symbol(" %s", tmp);
printk("\n");
if (i > 40) {
printk(" ...");
break;
}
}
printk("\n");
}