diff options
author | Julien Grall <julien.grall@linaro.org> | 2013-09-25 13:12:47 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@citrix.com> | 2013-09-26 16:18:41 +0100 |
commit | f042e3280babbe66884371eee18bd0f38b016a8e (patch) | |
tree | 15cf3666a689ffcb27a33da2c8231c9c207b7e3c | |
parent | 856107eca87d85c7138ca01eeefd8e6402f7ecb4 (diff) | |
download | xen-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.c | 6 |
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: |