QEMU With E2K User Support
Go to file
Dr. David Alan Gilbert f68945d42b Add a protective section footer
Badly formatted migration streams can go undetected or produce
misleading errors due to a lock of checking at the end of sections.
In particular a section that adds an extra 0x00 at the end
causes what looks like a normal end of stream and thus doesn't produce
any errors, and something that ends in a 0x01..0x04 kind of look
like real section headers and then fail when the section parser tries
to figure out which section they are.  This is made worse by the
choice of 0x00..0x04 being small numbers that are particularly common
in normal section data.

This patch adds a section footer consisting of a marker (0x7e - ~)
followed by the section-id that was also sent in the header.  If
they mismatch then it throws an error explaining which section was
being loaded.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
2015-06-12 06:54:01 +02:00
audio
backends
block blkdebug: Simplify passing of Error through qemu_opts_foreach() 2015-06-09 07:40:23 +02:00
bsd-user target-i386: use memory API to implement SMRAM 2015-06-05 17:36:39 +02:00
default-configs
disas
docs migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
dtc@65cc4d2748
fpu target-s390x: define default NaN values 2015-06-05 01:37:58 +02:00
fsdev
gdb-xml
hw Disable section footers on older machine types 2015-06-12 06:54:01 +02:00
include Add a protective section footer 2015-06-12 06:54:01 +02:00
libcacard
libdecnumber
linux-headers pc, acpi, virtio 2015-06-11 15:33:38 +01:00
linux-user target-i386: use memory API to implement SMRAM 2015-06-05 17:36:39 +02:00
migration Add a protective section footer 2015-06-12 06:54:01 +02:00
net vhost-user: Improve -netdev/netdev_add/-net/... error reporting 2015-06-09 07:40:24 +02:00
pc-bios
pixman@87eea99e44
po
qapi
qga
qobject
qom qom: add object_property_add_const_link 2015-06-05 17:36:39 +02:00
roms
scripts
slirp
stubs
target-alpha
target-arm migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
target-cris
target-i386 migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
target-lm32
target-m68k
target-microblaze
target-mips
target-moxie
target-openrisc
target-ppc migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
target-s390x migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
target-sh4
target-sparc
target-tricore
target-unicore32
target-xtensa
tcg tcg/optimize: rename tcg_constant_folding 2015-06-09 07:00:56 -07:00
tests bios-tables-test: handle false-positive smbios signature matches 2015-06-10 08:06:47 +02:00
trace
ui sdl2: fix crash in handle_windowevent() when restoring the screen size 2015-06-11 14:40:25 +01:00
util QemuOpts: increase number of vm_config_groups 2015-06-10 08:00:37 +02:00
.exrc
.gitignore
.gitmodules
.mailmap
.travis.yml
accel.c
aio-posix.c
aio-win32.c
arch_init.c migration: reduce include files 2015-06-12 06:42:34 +02:00
async.c
balloon.c
block.c
blockdev-nbd.c
blockdev.c
blockjob.c
bootdevice.c
bt-host.c
bt-vhci.c
Changelog
CODING_STYLE
configure Patch queue for ppc - 2015-06-03 2015-06-04 14:04:14 +01:00
COPYING
COPYING.LIB
coroutine-gthread.c
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-win32.c
cpu-exec.c
cpus.c migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
cputlb.c memory: replace cpu_physical_memory_reset_dirty() with test-and-clear 2015-06-05 17:10:00 +02:00
device_tree.c
device-hotplug.c
disas.c
dma-helpers.c
dump.c
exec.c qemu_ram_foreach_block: pass up error value, and down the ramblock name 2015-06-12 06:54:01 +02:00
gdbstub.c
HACKING
hmp-commands.hx
hmp.c
hmp.h
iohandler.c
ioport.c
iothread.c
kvm-all.c kvm: remove special handling of DIRTY_MEMORY_MIGRATION in the dirty log mask 2015-06-05 17:09:59 +02:00
kvm-stub.c
LICENSE
main-loop.c
MAINTAINERS migration: move savevm.c inside migration/ 2015-06-12 06:42:30 +02:00
Makefile
Makefile.objs
Makefile.target migration: move savevm.c inside migration/ 2015-06-12 06:42:30 +02:00
memory_mapping.c
memory.c memory: use mr->ram_addr in "is this RAM?" assertions 2015-06-05 17:10:00 +02:00
module-common.c
monitor.c monitor: Fix QMP ABI breakage around "id" 2015-06-08 12:12:11 +01:00
nbd.c
numa.c QemuOpts: Convert qemu_opts_foreach() to Error 2015-06-09 07:37:37 +02:00
os-posix.c
os-win32.c
page_cache.c
qapi-schema.json
qdev-monitor.c QemuOpts: Convert qemu_opt_foreach() to Error 2015-06-09 07:40:23 +02:00
qdict-test-data.txt
qemu-bridge-helper.c
qemu-char.c
qemu-coroutine-io.c
qemu-coroutine-lock.c
qemu-coroutine-sleep.c
qemu-coroutine.c
qemu-doc.texi
qemu-img-cmds.hx
qemu-img.c
qemu-img.texi
qemu-io-cmds.c
qemu-io.c
qemu-log.c
qemu-nbd.c qemu-nbd: Switch to qemu_set_fd_handler 2015-06-05 17:09:58 +02:00
qemu-nbd.texi
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx fw_cfg: insert fw_cfg file blobs via qemu cmdline 2015-06-10 08:06:46 +02:00
qemu-seccomp.c
qemu-tech.texi
qemu-timer.c
qemu.nsi
qemu.sasl
qjson.c
qmp-commands.hx
qmp.c
qtest.c
README
rules.mak
softmmu_template.h
spice-qemu-char.c
tcg-runtime.c
tci.c tcg: Mask TCGMemOp appropriately for indexing 2015-06-09 06:35:29 -07:00
thread-pool.c
thunk.c
tpm.c QemuOpts: Convert qemu_opts_foreach() to Error 2015-06-09 07:37:37 +02:00
trace-events Split header writing out of qemu_savevm_state_begin 2015-06-12 06:54:01 +02:00
translate-all.c translate-all: make less of tb_invalidate_phys_page_range depend on is_cpu_write_access 2015-06-05 17:09:59 +02:00
translate-all.h translate-all: remove unnecessary argument to tb_invalidate_phys_range 2015-06-05 17:09:59 +02:00
user-exec.c exec: move functions to translate-all.h 2015-06-05 17:09:59 +02:00
VERSION
version.rc
vl.c fw_cfg: insert fw_cfg file blobs via qemu cmdline 2015-06-10 08:06:46 +02:00
xen-common-stub.c
xen-common.c
xen-hvm-stub.c
xen-hvm.c memory: prepare for multiple bits in the dirty log mask 2015-06-05 17:09:59 +02:00
xen-mapcache.c

Read the documentation in qemu-doc.html or on http://wiki.qemu-project.org

- QEMU team