diff options
Diffstat (limited to 'mailinglist/output_launchpad/1294227')
| -rw-r--r-- | mailinglist/output_launchpad/1294227 | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/mailinglist/output_launchpad/1294227 b/mailinglist/output_launchpad/1294227 new file mode 100644 index 00000000..e442230d --- /dev/null +++ b/mailinglist/output_launchpad/1294227 @@ -0,0 +1,32 @@ +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 +} + +Sent patch for error handling: +http://lists.nongnu.org/archive/html/qemu-devel/2014-09/msg05633.html + +The apparently obvious fix was applied as commit b533f658a98325d0e4 but then reverted in commit 50212d6346f33d6e19, because not all errno returns from this ioctl should be treated as errors. + +That commit message said "Revert that patch instead of fixing it properly this late in the release process. I disagree with this approach, but let's make things move _somewhere_, instead of arguing endlessly whch of the 2 proposed fixes is better." -- and then we never did a proper fix, so 5 years later we're still making an incorrect == -1 check... + + + +Moving this bug back to Confirmed to move it out of "In progress" state. We still check for only -1 upstream. + +Yet another try to fix this issue: +https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg07557.html + +Patch has been merged here: +https://gitlab.com/qemu-project/qemu/-/commit/38e0b7904eca7cd32 + |