# Commit a07084525c126c596326dc1442dd218f522f51b4 # Date 2014-05-14 10:54:39 +0200 # Author Kai Huang # Committer Jan Beulich x86/MCE: bypass uninitialized vcpu in vMCE injection Dom0 may bring up less number of vCPUs than xen hypervisor actually created for it, and in this case, on Intel platform, vMCE injection to dom0 will fail due to injecting vMCE to uninitialized vcpu, and cause dom0 crash. Signed-off-by: Kai Huang Acked-by: Christoph Egger --- a/xen/arch/x86/cpu/mcheck/vmce.c +++ b/xen/arch/x86/cpu/mcheck/vmce.c @@ -357,6 +357,10 @@ int inject_vmce(struct domain *d, int vc if ( vcpu != VMCE_INJECT_BROADCAST && vcpu != v->vcpu_id ) continue; + /* Don't inject to uninitialized VCPU. */ + if ( !v->is_initialised ) + continue; + if ( (has_hvm_container_domain(d) || guest_has_trap_callback(d, v->vcpu_id, TRAP_machine_check)) && !test_and_set_bool(v->mce_pending) )