Message ID | 1411999009-25241-1-git-send-email-christoffer.dall@linaro.org |
---|---|
State | New |
Headers | show |
diff --git a/kvm-all.c b/kvm-all.c index 4afcd05..ab57170 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -429,7 +429,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;
Currently kvm_physical_sync_dirty_bitmap() calls kvm_vm_ioctl() and checks if it returns -1. However, kvm_vm_ioctl() actually returns -errno, and not -1, so this check will fail and architectures not implementing this functionality in the kernel blindly attempt broken things like unimplemented dirty page logging for migration. This addresses bug https://bugs.launchpad.net/qemu/+bug/1294227. Cc: Mario Smarduch <m.smarduch@samsung.com> Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org> --- kvm-all.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)