KVM: Return an error code only as a constant in kvm_get_dirty_log()
authorMarkus Elfring <elfring@users.sourceforge.net>
Sun, 22 Jan 2017 16:41:07 +0000 (17:41 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 17 Feb 2017 11:30:14 +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 e109d9e663b53c6573dad83c31aefce296470805..cc4d6e0dd2a2333b260947f54dfadec3f23edcf8 100644 (file)
@@ -1102,37 +1102,31 @@ int kvm_get_dirty_log(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 any = 0;
 
-       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);
-       r = -ENOENT;
        if (!memslot->dirty_bitmap)
-               goto out;
+               return -ENOENT;
 
        n = kvm_dirty_bitmap_bytes(memslot);
 
        for (i = 0; !any && i < n/sizeof(long); ++i)
                any = memslot->dirty_bitmap[i];
 
-       r = -EFAULT;
        if (copy_to_user(log->dirty_bitmap, memslot->dirty_bitmap, n))
-               goto out;
+               return -EFAULT;
 
        if (any)
                *is_dirty = 1;
-
-       r = 0;
-out:
-       return r;
+       return 0;
 }
 EXPORT_SYMBOL_GPL(kvm_get_dirty_log);