diff options
author | Michael Roth <mdroth@linux.vnet.ibm.com> | 2013-02-04 10:07:51 -0600 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2013-02-04 14:39:07 -0600 |
commit | ded67782e6d06069873adce7f9074d273ae75760 (patch) | |
tree | 9abf9d4193ce0d0cd6708781c8ac80a1a6c19327 /target-s390x/helper.c | |
parent | c881e20eed4911ab6f8c674f2b1bf225a2cdde71 (diff) |
acpi_piix4: fix segfault migrating from 1.2
b0b873a07872f7ab7f66f259c73fb9dd42aa66a9 bumped the vmstate version and
introduced an old-style load function to handle migration from prior
(<= 1.2) versions.
The load function passes the top-level PIIX4PMState pointer to
vmstate_load_state() to handle nested structs for APMState and
pci_status, which leads to corruption of the top-level PIIX4PMState,
since pointers to the nested structs are expected.
A segfault can be fairly reliably triggered by migrating from 1.2 and
issuing a reset, which will trigger a number of QOM operations which
rely on the now corrupted ObjectClass/Object members.
Fix this by passing in the expected pointers for vmstate_load_state().
Cc: qemu-stable@nongnu.org
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'target-s390x/helper.c')
0 files changed, 0 insertions, 0 deletions