Package: qemu-kvm Version: 0.12.0+dfsg-5 Severity: important Tags: patch squeeze upstream pending
When perfoming migration on a 32bit userspace, qemu-kvm aborts after glibc detects memory corruption. This is 100% reproducible on a 32bit host userspace (with 32 or 64bit kernel). It has been this way since long time already. The problem has been addressed upstream, twice, and is described in the upstream commit: http://git.kernel.org/?p=virt/kvm/qemu-kvm.git;a=commit;h=51b0c6065aa6e47a47094d73e24be298a4a7f3a1 The above commit describes the problem with the kernel interface and fixes the second half of the problem, namely, failure to migrate when using 32bit userspace on a 64bit kernel. But earlier versions of qemu-kvm failed migration on 32bits all the time, because initially (including the version in squeeze), that code performed no buffer size alignment at all, while kernel performed usual rounding and hence overwrote userspace memory. The problem didn't happen on 64bits because malloc there performs some "better" alignment by its own. This first, and more important, half of the issue were fixed silently by upstream commit 8369e01ce418edb26a6e1f65406cac650563b3da , which is titled "kvm: port qemu-kvm's bitmap scanning". Especially this change in kvm-all.c: - size = ((mem->memory_size >> TARGET_PAGE_BITS) + 7) / 8; + size = ALIGN(((mem->memory_size) >> TARGET_PAGE_BITS), HOST_LONG_BITS) / 8; Severity is important since migration is important even on 32bit platfoms, because it is used, in particular, to save/restore running guest state (migrate to file). /mjt -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org