[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] Fix virtio migration
From: |
Cornelia Huck |
Subject: |
Re: [Qemu-devel] [PATCH] Fix virtio migration |
Date: |
Fri, 29 Jan 2016 15:17:24 +0100 |
On Fri, 29 Jan 2016 13:18:56 +0000
"Dr. David Alan Gilbert (git)" <address@hidden> wrote:
> From: "Dr. David Alan Gilbert" <address@hidden>
>
> I misunderstood the vmstate macro definition when I reworked the
> virtio .get/.put.
> The VMSTATE_STRUCT_VARRAY_KNOWN, was described as being for "a
> variable length array (i.e. _type *_field) but we know the
> length". However it actually specified operation for arrays embedded in
> the struct (i.e. _type _field[]) since it lacked the VMS_POINTER
> flag. This caused offset calculation to be completely off, examining and
> potentially sending random data instead of the VirtQueue content.
>
> Replace the otherwise unused VMSTATE_STRUCT_VARRAY_KNOWN with a
> VMSTATE_STRUCT_VARRAY_POINTER_KNOWN that includes the VMS_POINTER flag
> (so now actually doing what it advertises) and use it in the virtio
> migration code.
>
> Fixes and description as per Sascha's suggestions/debug.
>
> Signed-off-by: Dr. David Alan Gilbert <address@hidden>
> Reported-by: Sascha Silbe <address@hidden>
> Tested-By: Sascha Silbe <address@hidden>
> Reviewed-By: Sascha Silbe <address@hidden>
>
> Fixes: 50e5ae4dc3e4f21e874512f9e87b93b5472d26e0
> Fixes: 2cf0148674430b6693c60d42b7eef721bfa9509f
> ---
> hw/virtio/virtio.c | 8 ++++----
> include/migration/vmstate.h | 18 +++++++++---------
> 2 files changed, 13 insertions(+), 13 deletions(-)
Tested-by: Cornelia Huck <address@hidden>