All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC PATCH v2 0/8] VMS_ARRAY_OF_POINTER with null pointers
@ 2016-11-08  9:55 Halil Pasic
  2016-11-08  9:55 ` [Qemu-devel] [RFC PATCH v2 1/8] tests/test-vmstate.c: add vBuffer test Halil Pasic
                   ` (8 more replies)
  0 siblings, 9 replies; 18+ messages in thread
From: Halil Pasic @ 2016-11-08  9:55 UTC (permalink / raw)
  To: qemu-devel
  Cc: Amit Shah, Juan Quintela, Guenther Hutzl, Dr. David Alan Gilbert,
	Halil Pasic

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

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2017-02-01 18:19 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-08  9:55 [Qemu-devel] [RFC PATCH v2 0/8] VMS_ARRAY_OF_POINTER with null pointers Halil Pasic
2016-11-08  9:55 ` [Qemu-devel] [RFC PATCH v2 1/8] tests/test-vmstate.c: add vBuffer test Halil Pasic
2016-11-08  9:55 ` [Qemu-devel] [RFC PATCH v2 2/8] migration: drop unused VMStateField.start Halil Pasic
2016-11-08  9:55 ` [Qemu-devel] [RFC PATCH v2 3/8] tests/test-vmstate.c: add save_buffer util func Halil Pasic
2016-11-08  9:55 ` [Qemu-devel] [RFC PATCH v2 4/8] tests/test-vmstate.c: add array of pointer to struct Halil Pasic
2016-11-08  9:56 ` [Qemu-devel] [RFC PATCH v2 5/8] migration/vmstate: renames in (load|save)_state Halil Pasic
2016-12-15 11:55   ` Dr. David Alan Gilbert
2016-11-08  9:56 ` [Qemu-devel] [RFC PATCH v2 6/8] migration/vmstate: split up vmstate_base_addr Halil Pasic
2016-12-15 13:29   ` Dr. David Alan Gilbert
2016-12-16 15:57     ` Halil Pasic
2016-12-16 19:47       ` Dr. David Alan Gilbert
2016-11-08  9:56 ` [Qemu-devel] [RFC PATCH v2 7/8] migration/vmstate: fix array of pointers to struct Halil Pasic
2016-12-15 12:33   ` Dr. David Alan Gilbert
2017-01-31 15:17     ` Halil Pasic
2017-02-01 18:18       ` Dr. David Alan Gilbert
2016-11-08  9:56 ` [Qemu-devel] [RFC PATCH v2 8/8] tests/test-vmstate.c: add array of pointers to struct with NULL Halil Pasic
2016-12-15 12:52   ` Dr. David Alan Gilbert
2016-12-15 13:31 ` [Qemu-devel] [RFC PATCH v2 0/8] VMS_ARRAY_OF_POINTER with null pointers Dr. David Alan Gilbert

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.