[PATCH] i386: Fix up backtrace fallback patch
authorAndi Kleen <ak@suse.de>
Sat, 29 Jul 2006 19:42:52 +0000 (21:42 +0200)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sun, 30 Jul 2006 03:59:55 +0000 (20:59 -0700)
I didn't test all compilation combinations. Shame on me.
And fix a missing option in the boot option following x86-64 (Jan Beulich)

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/i386/kernel/traps.c

index 3facc8f..021f8fd 100644 (file)
@@ -190,11 +190,11 @@ static void show_trace_log_lvl(struct task_struct *task, struct pt_regs *regs,
                if (unw_ret > 0 && !arch_unw_user_mode(&info)) {
 #ifdef CONFIG_STACK_UNWIND
                        print_symbol("DWARF2 unwinder stuck at %s\n",
-                                    UNW_PC(info.regs));
+                                    UNW_PC(&info));
                        if (call_trace == 1) {
                                printk("Leftover inexact backtrace:\n");
-                               if (UNW_SP(info.regs))
-                                       stack = (void *)UNW_SP(info.regs);
+                               if (UNW_SP(&info))
+                                       stack = (void *)UNW_SP(&info);
                        } else if (call_trace > 1)
                                return;
                        else
@@ -1249,8 +1249,10 @@ static int __init call_trace_setup(char *s)
                call_trace = -1;
        else if (strcmp(s, "both") == 0)
                call_trace = 0;
-       else if (strcmp(s, "new") == 0)
+       else if (strcmp(s, "newfallback") == 0)
                call_trace = 1;
+       else if (strcmp(s, "new") == 2)
+               call_trace = 2;
        return 1;
 }
 __setup("call_trace=", call_trace_setup);