From: Andrew Cooper Date: Thu, 25 Jun 2015 12:57:04 +0000 (+0200) Subject: x86/traps: avoid using current too early on boot X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~3027 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=142473cfce41a565898e0fa33dc98a1f5e41abe4;p=xen.git x86/traps: avoid using current too early on boot Early on boot, current has the sentinel value 0xfffff000. Blindly using it in show_registers() causes a nested failure and no useful information printed from an early crash. Signed-off-by: Andrew Cooper --- diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c index 117a133b7f..61bd05347e 100644 --- a/xen/arch/x86/x86_64/traps.c +++ b/xen/arch/x86/x86_64/traps.c @@ -86,7 +86,7 @@ void show_registers(const struct cpu_user_regs *regs) struct cpu_user_regs fault_regs = *regs; unsigned long fault_crs[8]; enum context context; - struct vcpu *v = current; + struct vcpu *v = system_state >= SYS_STATE_smp_boot ? current : NULL; if ( guest_mode(regs) && has_hvm_container_vcpu(v) ) {