Patchwork [RESEND] vmstate: fix breakage by 7e72abc382b700a72549e8147bdea413534eeedc

login
register
mail settings
Submitter TeLeMan
Date May 12, 2010, 2:28 a.m.
Message ID <AANLkTilXcuHaJdf7CZJJRYzCPiOp1CIMUv5w01FUQJbA@mail.gmail.com>
Download mbox | patch
Permalink /patch/52344/
State New
Headers show

Comments

TeLeMan - May 12, 2010, 2:28 a.m.
cirrus_post_load() will be executed twice when loading vm states and then the
wrong physical memory will be registered. This issue may lead to crash qemu.

Signed-off-by: TeLeMan <geleman@gmail.com>
---
 hw/cirrus_vga.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

         VMSTATE_STRUCT(cirrus_vga, PCICirrusVGAState, 0,
--
SUN OF A BEACH
Juan Quintela - May 12, 2010, 11:05 p.m.
TeLeMan <geleman@gmail.com> wrote:
> cirrus_post_load() will be executed twice when loading vm states and then the
> wrong physical memory will be registered. This issue may lead to crash qemu.
>
> Signed-off-by: TeLeMan <geleman@gmail.com>

Nice catch.

Acked-by: Juan Quintela <quintela@redhat.com>
Blue Swirl - May 22, 2010, 9:30 a.m.
Thanks, applied.

On Wed, May 12, 2010 at 2:28 AM, TeLeMan <geleman@gmail.com> wrote:
> cirrus_post_load() will be executed twice when loading vm states and then the
> wrong physical memory will be registered. This issue may lead to crash qemu.
>
> Signed-off-by: TeLeMan <geleman@gmail.com>
> ---
>  hw/cirrus_vga.c |    1 -
>  1 files changed, 0 insertions(+), 1 deletions(-)
>
> diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c
> index 9dfe76a..262ba9c 100644
> --- a/hw/cirrus_vga.c
> +++ b/hw/cirrus_vga.c
> @@ -3017,7 +3017,6 @@ static const VMStateDescription vmstate_pci_cirrus_vga
> = {
>     .version_id = 2,
>     .minimum_version_id = 2,
>     .minimum_version_id_old = 2,
> -    .post_load = cirrus_post_load,
>     .fields      = (VMStateField []) {
>         VMSTATE_PCI_DEVICE(dev, PCICirrusVGAState),
>         VMSTATE_STRUCT(cirrus_vga, PCICirrusVGAState, 0,
> --
> SUN OF A BEACH
>
>

Patch

diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c
index 9dfe76a..262ba9c 100644
--- a/hw/cirrus_vga.c
+++ b/hw/cirrus_vga.c
@@ -3017,7 +3017,6 @@  static const VMStateDescription vmstate_pci_cirrus_vga
= {
     .version_id = 2,
     .minimum_version_id = 2,
     .minimum_version_id_old = 2,
-    .post_load = cirrus_post_load,
     .fields      = (VMStateField []) {
         VMSTATE_PCI_DEVICE(dev, PCICirrusVGAState),