fix return check for KVM_GET_DIRTY_LOG ioctl
authorMario Smarduch <m.smarduch@samsung.com>
Wed, 19 Mar 2014 17:24:26 +0000 (10:24 -0700)
committerMichael Tokarev <mjt@tls.msk.ru>
Thu, 27 Mar 2014 15:22:48 +0000 (19:22 +0400)
Fix return condition check from kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d) to
handle internal failures or no support for memory slot dirty bitmap.
Otherwise the ioctl succeeds and continues with migration.
Addresses BUG# 1294227

Signed-off-by: Mario Smarduch <m.smarduch@samsung.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
kvm-all.c

index 82a9119..cd4111d 100644 (file)
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -441,7 +441,7 @@ static int kvm_physical_sync_dirty_bitmap(MemoryRegionSection *section)
 
         d.slot = mem->slot;
 
-        if (kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d) == -1) {
+        if (kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d) < 0) {
             DPRINTF("ioctl failed %d\n", errno);
             ret = -1;
             break;