OSDN Git Service

KVM: Return an error code only as a constant in kvm_get_dirty_log_protect()
authorMarkus Elfring <elfring@users.sourceforge.net>
Sun, 22 Jan 2017 16:30:16 +0000 (17:30 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 17 Feb 2017 11:30:06 +0000 (12:30 +0100)
* Return an error code without storing it in an intermediate variable.

* Delete the local variable "r" and the jump label "out" which became
  unnecessary with this refactoring.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
virt/kvm/kvm_main.c

index bd131c5..e109d9e 100644 (file)
@@ -1164,24 +1164,22 @@ int kvm_get_dirty_log_protect(struct kvm *kvm,
 {
        struct kvm_memslots *slots;
        struct kvm_memory_slot *memslot;
-       int r, i, as_id, id;
+       int i, as_id, id;
        unsigned long n;
        unsigned long *dirty_bitmap;
        unsigned long *dirty_bitmap_buffer;
 
-       r = -EINVAL;
        as_id = log->slot >> 16;
        id = (u16)log->slot;
        if (as_id >= KVM_ADDRESS_SPACE_NUM || id >= KVM_USER_MEM_SLOTS)
-               goto out;
+               return -EINVAL;
 
        slots = __kvm_memslots(kvm, as_id);
        memslot = id_to_memslot(slots, id);
 
        dirty_bitmap = memslot->dirty_bitmap;
-       r = -ENOENT;
        if (!dirty_bitmap)
-               goto out;
+               return -ENOENT;
 
        n = kvm_dirty_bitmap_bytes(memslot);
 
@@ -1210,14 +1208,9 @@ int kvm_get_dirty_log_protect(struct kvm *kvm,
        }
 
        spin_unlock(&kvm->mmu_lock);
-
-       r = -EFAULT;
        if (copy_to_user(log->dirty_bitmap, dirty_bitmap_buffer, n))
-               goto out;
-
-       r = 0;
-out:
-       return r;
+               return -EFAULT;
+       return 0;
 }
 EXPORT_SYMBOL_GPL(kvm_get_dirty_log_protect);
 #endif