qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC PATCH v2 0/8] VMS_ARRAY_OF_POINTER with null pointers


From: Halil Pasic
Subject: [Qemu-devel] [RFC PATCH v2 0/8] VMS_ARRAY_OF_POINTER with null pointers
Date: Tue, 8 Nov 2016 10:55:55 +0100

Make VMS_ARRAY_OF_POINTER cope with null pointers. Currently the reward
for trying to migrate an array with some null pointers in it is an
illegal memory access, that is a swift and painless death of the
process. Let's make vmstate cope with this scenario at least for
pointers to structs.

We need this functionality for the migration of the channel subsystem
(hw/s390x/css.c).

The first 2 patches (1-2) are basically from a different series. Both
received favorable reviews and no criticism yet. Since things are
progressing slow there (understandably, its rather a cleanup than the
killer feature) but things are nicer with these I decided to include
them in this series to ease review. 

Then 3 more cleanup patches (3,5,6) and a test coverage for the existing
functionality in patch 4 follow. Patches 3 and 4 are already included by
Juan but still not in master I'm including them here as well (for
reference see 
https://lists.gnu.org/archive/html/qemu-devel/2016-11/msg00335.html 
https://lists.gnu.org/archive/html/qemu-devel/2016-11/msg00329.html
). 

I ended up with an RFC again because of these cleanup patches 5 and 6.
Last time they were one patch with the new functionality patch which
made things messy, and I did not receive enough feedback regarding if
these are welcomed by the community or should be dismissed as not worth
it.  Here I want to point out that IMHO "split up vmstate_base_addr"
also fixes a latent bug so its not pure cleanup.

The new functionality is introduced by patch 7 and test coverage for it
in patch 8.

v1 --> v2:
* Added Reviewed-by tags
* Fixed marker for null pointer as suggested by Dave
* Split out the cleanup patches as suggested by Dave


Guenther Hutzl (1):
  tests/test-vmstate.c: add vBuffer test

Halil Pasic (7):
  migration: drop unused VMStateField.start
  tests/test-vmstate.c: add save_buffer util func
  tests/test-vmstate.c: add array of pointer to struct
  migration/vmstate: renames in (load|save)_state
  migration/vmstate: split up vmstate_base_addr
  migration/vmstate: fix array of pointers to struct
  tests/test-vmstate.c: add array of pointers to struct with NULL

 hw/char/exynos4210_uart.c   |   2 +-
 hw/display/g364fb.c         |   2 +-
 hw/dma/pl330.c              |   8 +-
 hw/intc/exynos4210_gic.c    |   2 +-
 hw/ipmi/isa_ipmi_bt.c       |   4 +-
 hw/ipmi/isa_ipmi_kcs.c      |   4 +-
 hw/net/vmxnet3.c            |   2 +-
 hw/nvram/mac_nvram.c        |   2 +-
 hw/nvram/spapr_nvram.c      |   2 +-
 hw/sd/sdhci.c               |   2 +-
 hw/timer/m48t59.c           |   2 +-
 include/migration/vmstate.h |  27 +++--
 migration/savevm.c          |   2 +-
 migration/vmstate.c         |  91 ++++++++++------
 target-s390x/machine.c      |   2 +-
 tests/test-vmstate.c        | 250 +++++++++++++++++++++++++++++++++++++++++---
 util/fifo8.c                |   2 +-
 17 files changed, 327 insertions(+), 79 deletions(-)

-- 
2.8.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]