|
@@ -1649,7 +1649,7 @@ static void vmx_get_segment(struct kvm_vcpu *vcpu,
|
|
|
var->limit = vmcs_read32(sf->limit);
|
|
|
var->selector = vmcs_read16(sf->selector);
|
|
|
ar = vmcs_read32(sf->ar_bytes);
|
|
|
- if (ar & AR_UNUSABLE_MASK)
|
|
|
+ if ((ar & AR_UNUSABLE_MASK) && !emulate_invalid_guest_state)
|
|
|
ar = 0;
|
|
|
var->type = ar & 15;
|
|
|
var->s = (ar >> 4) & 1;
|