From fb83ad5cdb474c0b4d21111c020f3bdc834d0f4d Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Thu, 30 Jun 2011 19:04:56 +0200 Subject: [PATCH] --- yaml --- r: 257084 b: refs/heads/master c: 47ce11a2b6519f9c7843223ea8e561eb71ea5896 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/dumpstack_64.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 44a7e6a961bb..75612fb2e9bc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9e46294dadedc0c04adcb8ce760bd2cd74f7332d +refs/heads/master: 47ce11a2b6519f9c7843223ea8e561eb71ea5896 diff --git a/trunk/arch/x86/kernel/dumpstack_64.c b/trunk/arch/x86/kernel/dumpstack_64.c index e71c98d3c0d2..788295cbe4a7 100644 --- a/trunk/arch/x86/kernel/dumpstack_64.c +++ b/trunk/arch/x86/kernel/dumpstack_64.c @@ -155,9 +155,12 @@ void dump_trace(struct task_struct *task, struct pt_regs *regs, task = current; if (!stack) { - stack = &dummy; - if (task && task != current) + if (regs) + stack = (unsigned long *)regs->sp; + else if (task && task != current) stack = (unsigned long *)task->thread.sp; + else + stack = &dummy; } if (!bp)