|
@@ -4238,13 +4238,14 @@ set_identity_unlock:
|
|
|
mutex_unlock(&kvm->lock);
|
|
|
break;
|
|
|
case KVM_XEN_HVM_CONFIG: {
|
|
|
+ struct kvm_xen_hvm_config xhc;
|
|
|
r = -EFAULT;
|
|
|
- if (copy_from_user(&kvm->arch.xen_hvm_config, argp,
|
|
|
- sizeof(struct kvm_xen_hvm_config)))
|
|
|
+ if (copy_from_user(&xhc, argp, sizeof(xhc)))
|
|
|
goto out;
|
|
|
r = -EINVAL;
|
|
|
- if (kvm->arch.xen_hvm_config.flags)
|
|
|
+ if (xhc.flags)
|
|
|
goto out;
|
|
|
+ memcpy(&kvm->arch.xen_hvm_config, &xhc, sizeof(xhc));
|
|
|
r = 0;
|
|
|
break;
|
|
|
}
|