[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
- [Qemu-devel] [RFC PATCH v2 0/8] VMS_ARRAY_OF_POINTER with null pointers,
Halil Pasic <=
- [Qemu-devel] [RFC PATCH v2 4/8] tests/test-vmstate.c: add array of pointer to struct, Halil Pasic, 2016/11/08
- [Qemu-devel] [RFC PATCH v2 1/8] tests/test-vmstate.c: add vBuffer test, Halil Pasic, 2016/11/08
- [Qemu-devel] [RFC PATCH v2 7/8] migration/vmstate: fix array of pointers to struct, Halil Pasic, 2016/11/08
- [Qemu-devel] [RFC PATCH v2 8/8] tests/test-vmstate.c: add array of pointers to struct with NULL, Halil Pasic, 2016/11/08
- [Qemu-devel] [RFC PATCH v2 3/8] tests/test-vmstate.c: add save_buffer util func, Halil Pasic, 2016/11/08
- [Qemu-devel] [RFC PATCH v2 2/8] migration: drop unused VMStateField.start, Halil Pasic, 2016/11/08
- [Qemu-devel] [RFC PATCH v2 5/8] migration/vmstate: renames in (load|save)_state, Halil Pasic, 2016/11/08
- [Qemu-devel] [RFC PATCH v2 6/8] migration/vmstate: split up vmstate_base_addr, Halil Pasic, 2016/11/08