On Tue, 20 Sep 2016 15:49:29 +0100 Stefan Hajnoczi <stefa...@redhat.com> wrote:
> v4: > * Rebase to qemu.git/master > * Use "unsigned int" instead of "unsigned" in virtqueue_undo_map_desc() > [Cornelia] > FWIW, any unchanged or only trivially-rebased patch retains my r-b or a-b. > v3: > * Patch 1: Fix typo and clarify commit description [Markus] > * Use virtio_set_status() instead of open coding assignment [Cornelia] > * Add live migration > > v2: > * Add VIRTIO_CONFIG_S_NEEDS_RESET notification for VIRTIO 1.0 [Cornelia] > (Note I've sent a Linux virtio_config.h patch to get the constant added to > the headers.) > * Split int -> unsigned int change into separate commit [Fam] > * Fix double "index" typo in commit description [Fam] > > The virtio code calls exit() when the device enters an invalid state. This > means invalid vring indices and descriptor chains kill the VM. See the patch > descriptions for why this is a bad thing. > > When the virtio device is in the broken state calls to virtqueue_pop() and > friends will pretend the virtqueue is empty. This means the device will > become > isolated from guest activity until it is reset again. > > Stefan Hajnoczi (9): > virtio: fix stray tab character > virtio: stop virtqueue processing if device is broken > virtio: migrate vdev->broken flag > virtio: handle virtqueue_map_desc() errors > virtio: handle virtqueue_get_avail_bytes() errors > virtio: use unsigned int for virtqueue_get_avail_bytes() index > virtio: handle virtqueue_read_next_desc() errors > virtio: handle virtqueue_num_heads() errors > virtio: handle virtqueue_get_head() errors > > hw/virtio/virtio.c | 232 > +++++++++++++++++++++++++++++++++++---------- > include/hw/virtio/virtio.h | 3 + > 2 files changed, 184 insertions(+), 51 deletions(-) >