- Update to 3.3-rc3.
[linux-flexiantxendom0-3.2.10.git] / arch / x86 / kernel / dumpstack_64.c
index 17107bd..caf5de0 100644 (file)
@@ -14,6 +14,7 @@
 #include <linux/bug.h>
 #include <linux/nmi.h>
 
+#include <linux/unwind.h>
 #include <asm/stacktrace.h>
 
 
@@ -126,6 +127,12 @@ void dump_trace(struct task_struct *task, struct pt_regs *regs,
        if (!task)
                task = current;
 
+       bp = stack_frame(task, regs);
+       if (try_stack_unwind(task, regs, &stack, &bp, ops, data)) {
+               put_cpu();
+               return;
+       }
+
        if (!stack) {
                if (regs)
                        stack = (unsigned long *)regs->sp;