aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien Grall <julien.grall@linaro.org>2013-09-25 13:12:47 +0100
committerIan Campbell <ian.campbell@citrix.com>2013-09-26 16:18:41 +0100
commitf042e3280babbe66884371eee18bd0f38b016a8e (patch)
tree15cf3666a689ffcb27a33da2c8231c9c207b7e3c
parent856107eca87d85c7138ca01eeefd8e6402f7ecb4 (diff)
downloadxen-f042e3280babbe66884371eee18bd0f38b016a8e.tar.gz
xen-f042e3280babbe66884371eee18bd0f38b016a8e.tar.bz2
xen-f042e3280babbe66884371eee18bd0f38b016a8e.zip
xen/arm: Don't dump stack when the VCPU is offline
When a VCPU is not yet online, the registers contain garbagge. This will result to call randomly BUG() in show_guest_stack. Signed-off-by: Julien Grall <julien.grall@linaro.org> Acked-by: Ian Campbell <ian.campbell@citrix.com>
-rw-r--r--xen/arch/arm/traps.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 0e9a141905..4c0fc323ac 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -612,6 +612,12 @@ static void show_guest_stack(struct vcpu *v, struct cpu_user_regs *regs)
void *mapped;
unsigned long *stack, addr;
+ if ( test_bit(_VPF_down, &v->pause_flags) )
+ {
+ printk("No stack trace, VCPU offline\n");
+ return;
+ }
+
switch ( regs->cpsr & PSR_MODE_MASK )
{
case PSR_MODE_USR: