migration wrong handling of KVM_GET_DIRTY_LOG ioctl In the code below kvm_vm_ioctl(...) can return --errno != -1 from ioctl call, but return only checks for -1. Found during KVM-ARM migration which apperead to go through but was actually failing getting memslot dirty bitmap. static int kvm_physical_sync_dirty_bitmap(....) { .... if(kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d) == -1) { - err out } ... continue }