浏览代码

KVM: fix the errno of ioctl KVM_[UN]REGISTER_COALESCED_MMIO failure

This patch change the errno of ioctl KVM_[UN]REGISTER_COALESCED_MMIO
from -EINVAL to -ENXIO if no coalesced mmio dev exists.

Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Wei Yongjun 15 年之前
父节点
当前提交
a87fa35514
共有 2 个文件被更改,包括 2 次插入4 次删除
  1. 2 2
      virt/kvm/coalesced_mmio.c
  2. 0 2
      virt/kvm/kvm_main.c

+ 2 - 2
virt/kvm/coalesced_mmio.c

@@ -139,7 +139,7 @@ int kvm_vm_ioctl_register_coalesced_mmio(struct kvm *kvm,
 	struct kvm_coalesced_mmio_dev *dev = kvm->coalesced_mmio_dev;
 	struct kvm_coalesced_mmio_dev *dev = kvm->coalesced_mmio_dev;
 
 
 	if (dev == NULL)
 	if (dev == NULL)
-		return -EINVAL;
+		return -ENXIO;
 
 
 	mutex_lock(&kvm->slots_lock);
 	mutex_lock(&kvm->slots_lock);
 	if (dev->nb_zones >= KVM_COALESCED_MMIO_ZONE_MAX) {
 	if (dev->nb_zones >= KVM_COALESCED_MMIO_ZONE_MAX) {
@@ -162,7 +162,7 @@ int kvm_vm_ioctl_unregister_coalesced_mmio(struct kvm *kvm,
 	struct kvm_coalesced_mmio_zone *z;
 	struct kvm_coalesced_mmio_zone *z;
 
 
 	if (dev == NULL)
 	if (dev == NULL)
-		return -EINVAL;
+		return -ENXIO;
 
 
 	mutex_lock(&kvm->slots_lock);
 	mutex_lock(&kvm->slots_lock);
 
 

+ 0 - 2
virt/kvm/kvm_main.c

@@ -1609,7 +1609,6 @@ static long kvm_vm_ioctl(struct file *filp,
 		r = -EFAULT;
 		r = -EFAULT;
 		if (copy_from_user(&zone, argp, sizeof zone))
 		if (copy_from_user(&zone, argp, sizeof zone))
 			goto out;
 			goto out;
-		r = -ENXIO;
 		r = kvm_vm_ioctl_register_coalesced_mmio(kvm, &zone);
 		r = kvm_vm_ioctl_register_coalesced_mmio(kvm, &zone);
 		if (r)
 		if (r)
 			goto out;
 			goto out;
@@ -1621,7 +1620,6 @@ static long kvm_vm_ioctl(struct file *filp,
 		r = -EFAULT;
 		r = -EFAULT;
 		if (copy_from_user(&zone, argp, sizeof zone))
 		if (copy_from_user(&zone, argp, sizeof zone))
 			goto out;
 			goto out;
-		r = -ENXIO;
 		r = kvm_vm_ioctl_unregister_coalesced_mmio(kvm, &zone);
 		r = kvm_vm_ioctl_unregister_coalesced_mmio(kvm, &zone);
 		if (r)
 		if (r)
 			goto out;
 			goto out;