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 <andrew.coop...@citrix.com> CC: Jan Beulich <jbeul...@suse.com> --- xen/arch/x86/x86_64/traps.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c index 117a133..61bd053 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) ) { -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel