qemu/include
Halil Pasic 07d4e69147 migration/vmstate: fix array of ptr with nullptrs
Make VMS_ARRAY_OF_POINTER cope with null pointers. Previously the
reward for trying to migrate an array with some null pointers in it was
an illegal memory access, that is a swift and painless death of the
process.  Let's make vmstate cope with this scenario.

The general approach is, when we encounter a null pointer (element),
instead of following the pointer to save/load the data behind it, we
save/load a placeholder. This way we can detect if we expected a null
pointer at the load side but not null data was saved instead.

Signed-off-by: Halil Pasic <pasic@linux.vnet.ibm.com>
Reviewed-by: Guenther Hutzl <hutzl@linux.vnet.ibm.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20170222160119.52771-4-pasic@linux.vnet.ibm.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
2017-02-28 11:29:00 +00:00
..
block block: Add bdrv_new_open_driver() 2017-02-24 16:09:23 +01:00
crypto crypto: add CTR mode support 2016-10-19 10:09:24 +01:00
disas Fix Thumb-1 BE32 execution and disassembly. 2017-02-07 18:29:59 +00:00
exec cputlb: introduce tlb_flush_*_all_cpus[_synced] 2017-02-24 10:32:46 +00:00
fpu softfloat: Add float128_to_uint32_round_to_zero() 2017-02-22 11:28:28 +11:00
hw A selection of s390x patches: 2017-02-25 17:48:49 +00:00
io io: make qio_channel_yield aware of AioContexts 2017-02-21 11:14:07 +00:00
libdecnumber Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
migration migration/vmstate: fix array of ptr with nullptrs 2017-02-28 11:29:00 +00:00
monitor char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
net vhost-net: Notify the backend about the host MTU 2017-01-10 07:02:53 +02:00
qapi include: Fix typos found by codespell 2017-01-24 23:26:52 +03:00
qemu util/cutils: Change qemu_strtosz*() from int64_t to uint64_t 2017-02-23 20:35:36 +01:00
qom cputlb: add tlb_flush_by_mmuidx async routines 2017-02-24 10:32:46 +00:00
standard-headers virtio_crypto: header update 2017-01-18 22:59:53 +02:00
sysemu tcg: add options for enabling MTTCG 2017-02-24 10:32:45 +00:00
ui gtk-egl: add scanout_disable support 2017-02-27 16:15:29 +01:00
elf.h nios2: Add usermode binaries emulation 2017-01-24 13:10:35 -08:00
glib-compat.h win32: use glib gpoll if glib >= 2.50 2017-01-24 23:26:53 +03:00
qemu-common.h tcg: Add EXCP_ATOMIC 2016-10-26 08:29:00 -07:00
qemu-io.h qemu-io: Use BlockBackend 2015-02-16 15:07:19 +00:00
trace-tcg.h trace: get rid of generated-events.h/generated-events.c 2016-10-12 09:54:52 +02:00