|
@@ -5781,6 +5781,9 @@ int kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu,
|
|
|
int pending_vec, max_bits, idx;
|
|
|
struct desc_ptr dt;
|
|
|
|
|
|
+ if (!guest_cpuid_has_xsave(vcpu) && (sregs->cr4 & X86_CR4_OSXSAVE))
|
|
|
+ return -EINVAL;
|
|
|
+
|
|
|
dt.size = sregs->idt.limit;
|
|
|
dt.address = sregs->idt.base;
|
|
|
kvm_x86_ops->set_idt(vcpu, &dt);
|