qemu-cr16/tests
Eric Auger abe2c4bdb6 test-vmstate: fix bad GTree usage, use-after-free
According to g_tree_foreach() documentation:
"The tree may not be modified while iterating over it (you can't
add/remove items)."

compare_trees()/diff_tree() fail to respect this rule.
Historically GLib2 used a slice allocator for the GTree APIs
which did not immediately release the memory back to the system
allocator. As a result QEMU's use-after-free bug was not visible.
With GLib > 2.75.3 however, GLib2 has switched to using malloc
and now a SIGSEGV can be observed while running test-vmstate.

Get rid of the node removal within the tree traversal. Also
check the trees have the same number of nodes before the actual
diff.

Fixes: 9a85e4b8f6 ("migration: Support gtree migration")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1518
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reported-by: Richard W.M. Jones <rjones@redhat.com>
Tested-by: Richard W.M. Jones <rjones@redhat.com>
Reviewed-by: Richard W.M. Jones <rjones@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
2023-03-02 17:06:27 +01:00
..
avocado tests/avocado: disable BootLinuxPPC64 test in CI 2023-03-01 12:51:01 +00:00
bench Update bench-code for addressing CI problem 2023-02-11 16:51:09 +01:00
data tests: acpi: update expected blobs 2023-01-28 06:21:30 -05:00
decode
docker tests/docker: add zstdtools to the images 2023-03-01 12:45:16 +00:00
fp tests: make fp-test less chatty when running from test suite 2023-03-01 10:31:28 +00:00
guest-debug tests/guest-debug: better handle gdb crashes 2022-04-20 16:04:20 +01:00
image-fuzzer
include
keys
lcitool tests/docker: add zstdtools to the images 2023-03-01 12:45:16 +00:00
migration hw/misc/sga: Remove the deprecated "sga" device 2023-02-14 09:02:42 +01:00
multiboot
perf/block/qcow2
plugin tests/plugins: add instruction matching to libinsn.so 2022-02-09 12:08:42 +00:00
qapi-schema meson: replace Perl usage with Python 2023-02-02 10:44:23 +00:00
qemu-iotests Updated the FSF address to <https://www.gnu.org/licenses/> 2023-02-27 09:15:39 +01:00
qtest tests: Ensure TAP version is printed before other messages 2023-03-01 12:45:03 +00:00
rocker
tcg tests/docker: Use binaries for debian-tricore-cross 2023-03-01 10:32:09 +00:00
tsan
uefi-test-tools
unit test-vmstate: fix bad GTree usage, use-after-free 2023-03-02 17:06:27 +01:00
vm lcitool: drop perl from QEMU project/dependencies 2023-02-02 10:44:23 +00:00
vmstate-static-checker-data
check-block.sh tests/qemu-iotests: Move the bash and sanitizer checks to meson.build 2022-04-20 09:46:54 +02:00
dbus-vmstate-daemon.sh
Makefile.include configure: move tests/tcg/Makefile.prereqs to root build directory 2022-10-06 11:53:40 +01:00
meson.build meson: create have_vhost_* variables 2022-05-07 07:46:58 +02:00
requirements.txt tests: install "qemu" namespace package into venv 2022-06-06 09:26:54 +02:00
test-qht-par.c
vhost-user-bridge.c error handling: Use RETRY_ON_EINTR() macro where applicable 2023-01-09 13:50:47 +01:00