From: Andrew Morton Revert unchangelogged change which broke the stack unwinding patches. Cc: Ingo Molnar Cc: Arjan van de Ven Signed-off-by: Andrew Morton --- arch/x86_64/kernel/traps.c | 17 ++++++++--------- include/asm-x86_64/kdebug.h | 2 +- 2 files changed, 9 insertions(+), 10 deletions(-) diff -puN arch/x86_64/kernel/traps.c~lock-validator-beautify-x86_64-stacktraces-fix arch/x86_64/kernel/traps.c --- devel/arch/x86_64/kernel/traps.c~lock-validator-beautify-x86_64-stacktraces-fix 2006-06-09 15:23:02.000000000 -0700 +++ devel-akpm/arch/x86_64/kernel/traps.c 2006-06-09 15:23:02.000000000 -0700 @@ -111,7 +111,7 @@ static int call_trace = 1; #ifdef CONFIG_KALLSYMS # include -void printk_address(unsigned long address) +int printk_address(unsigned long address) { unsigned long offset = 0, symsize; const char *symname; @@ -119,20 +119,19 @@ void printk_address(unsigned long addres char *delim = ":"; char namebuf[128]; - symname = kallsyms_lookup(address, &symsize, &offset, &modname, namebuf); - if (!symname) { - printk(" [<%016lx>]", address); - return; - } + symname = kallsyms_lookup(address, &symsize, &offset, + &modname, namebuf); + if (!symname) + return printk(" [<%016lx>]", address); if (!modname) modname = delim = ""; - printk(" [<%016lx>] %s%s%s%s+0x%lx/0x%lx", + return printk(" [<%016lx>] %s%s%s%s+0x%lx/0x%lx", address, delim, modname, delim, symname, offset, symsize); } #else -void printk_address(unsigned long address) +int printk_address(unsigned long address) { - printk(" [<%016lx>]", address); + return printk(" [<%016lx>]", address); } #endif diff -puN include/asm-x86_64/kdebug.h~lock-validator-beautify-x86_64-stacktraces-fix include/asm-x86_64/kdebug.h --- devel/include/asm-x86_64/kdebug.h~lock-validator-beautify-x86_64-stacktraces-fix 2006-06-09 15:23:02.000000000 -0700 +++ devel-akpm/include/asm-x86_64/kdebug.h 2006-06-09 15:23:02.000000000 -0700 @@ -49,7 +49,7 @@ static inline int notify_die(enum die_va return atomic_notifier_call_chain(&die_chain, val, &args); } -extern void printk_address(unsigned long address); +extern int printk_address(unsigned long address); extern void die(const char *,struct pt_regs *,long); extern void __die(const char *,struct pt_regs *,long); extern void show_registers(struct pt_regs *regs); _