[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 00/10] Fix device introspection regressions
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH v5 00/10] Fix device introspection regressions |
Date: |
Thu, 1 Oct 2015 10:59:49 +0200 |
QMP command device-list-properties regressed in 2.1: it can crash or
leave dangling pointers behind.
-device FOO,help regressed in 2.2: it no longer works for
non-pluggable devices. I tried to fix that some time ago[*], but my
fix failed review. This is my second, more comprehensive try.
PATCH 1-3 fixes one class of bugs involved in the regressions, PATCH
4-5 are libqtest preliminaries, PATCH 6 adds tests to demonstrate the
bugs, PATCH 7-9 fix them to a degree (see PATCH 8 for limitations),
and PATCH 10 cleans up.
v5:
* Prepend Paolo's "[PATCH 0/3] Fix dangling pointers from
memory_region_init_*" series
* PATCH 2: Add fix for hw/pcmcia/pxa2xx.c
* PATCH 6: Document caller should g_free() return values [Thomas]
* PATCH 7: Drop devices fixed by Paolo from the blacklist
* PATCH 9: Rename cannot_even_create_with_object_new_yet to
cannot_destroy_with_object_finalize_yet [Andreas],
don't mark devices fixed by Paolo
v4:
* PATCH 4: Run "info qom-tree", refine blacklist, tweak commit
message.
* PATCH 6: Mark "cgthree", "cuda", "integrator_debug", "macio",
"pxa2xx-fir", "SUNW,tcx"; do not mark "spapr-rng" [Thomas]. tweak
comments and commit message [Eduardo]
v3:
* PATCH 6: Mark "tilegx-cpu" [Eduardo] and new "spapr-rng", clean up
whitespace
v2:
* PATCH 1: New, made from old PATCH 7 and relevant Makefile parts of
old PATCH 3, with a much improved commit message [Andreas]
* PATCH 3: Fix hmp() [Eric]
* PATCH 4: Tweak commit message and comments [Eric]
* PATCH 6: Mark only the CPUs that are actually broken [Eduardo]
[*] [PATCH] qdev: Make -device FOO,help help again when FOO is not
pluggable
https://lists.gnu.org/archive/html/qemu-devel/2015-03/msg03459.html
Message-Id: <address@hidden>
Markus Armbruster (7):
tests: Fix how qom-test is run
libqtest: Clean up unused QTestState member sigact_old
libqtest: New hmp() & friends
device-introspect-test: New, covering device introspection
qmp: Fix device-list-properties not to crash for abstract device
qdev: Protect device-list-properties against broken devices
Revert "qdev: Use qdev_get_device_class() for -device <type>,help"
Paolo Bonzini (3):
memory: allow destroying a non-empty MemoryRegion
hw: do not pass NULL to memory_region_init from instance_init
macio: move DBDMA_init from instance_init to realize
hw/arm/allwinner-a10.c | 6 ++
hw/arm/digic.c | 6 ++
hw/arm/fsl-imx25.c | 6 ++
hw/arm/fsl-imx31.c | 6 ++
hw/arm/pxa2xx.c | 2 +-
hw/arm/xlnx-zynqmp.c | 6 ++
hw/display/cg3.c | 4 +-
hw/display/tcx.c | 2 +-
hw/misc/arm_integrator_debug.c | 2 +-
hw/misc/macio/cuda.c | 2 +-
hw/misc/macio/macio.c | 14 ++---
hw/pci-host/versatile.c | 11 ++++
hw/pcmcia/pxa2xx.c | 6 +-
hw/s390x/event-facility.c | 3 +
hw/s390x/sclp.c | 3 +
include/hw/qdev-core.h | 13 +++++
memory.c | 17 +++++-
qdev-monitor.c | 9 ++-
qmp.c | 11 ++++
target-alpha/cpu.c | 7 +++
target-arm/cpu.c | 11 ++++
target-cris/cpu.c | 7 +++
target-i386/cpu.c | 8 +++
target-lm32/cpu.c | 7 +++
target-m68k/cpu.c | 7 +++
target-microblaze/cpu.c | 6 ++
target-mips/cpu.c | 7 +++
target-moxie/cpu.c | 7 +++
target-openrisc/cpu.c | 7 +++
target-ppc/kvm.c | 4 ++
target-s390x/cpu.c | 7 +++
target-sh4/cpu.c | 7 +++
target-sparc/cpu.c | 7 +++
target-tilegx/cpu.c | 7 +++
target-tricore/cpu.c | 6 ++
target-unicore32/cpu.c | 7 +++
target-xtensa/cpu.c | 7 +++
tests/Makefile | 20 ++++---
tests/device-introspect-test.c | 124 +++++++++++++++++++++++++++++++++++++++++
tests/drive_del-test.c | 22 ++------
tests/ide-test.c | 8 +--
tests/libqtest.c | 38 ++++++++++++-
tests/libqtest.h | 33 +++++++++++
43 files changed, 449 insertions(+), 51 deletions(-)
create mode 100644 tests/device-introspect-test.c
--
2.4.3
- [Qemu-devel] [PATCH v5 00/10] Fix device introspection regressions,
Markus Armbruster <=
- [Qemu-devel] [PATCH v5 09/10] qdev: Protect device-list-properties against broken devices, Markus Armbruster, 2015/10/08
- [Qemu-devel] [PATCH v5 10/10] Revert "qdev: Use qdev_get_device_class() for -device <type>, help", Markus Armbruster, 2015/10/08
- [Qemu-devel] [PATCH v5 01/10] memory: allow destroying a non-empty MemoryRegion, Markus Armbruster, 2015/10/08
- [Qemu-devel] [PATCH v5 03/10] macio: move DBDMA_init from instance_init to realize, Markus Armbruster, 2015/10/08
- [Qemu-devel] [PATCH v5 02/10] hw: do not pass NULL to memory_region_init from instance_init, Markus Armbruster, 2015/10/08
- [Qemu-devel] [PATCH v5 05/10] libqtest: Clean up unused QTestState member sigact_old, Markus Armbruster, 2015/10/08
- [Qemu-devel] [PATCH v5 07/10] device-introspect-test: New, covering device introspection, Markus Armbruster, 2015/10/08
- [Qemu-devel] [PATCH v5 06/10] libqtest: New hmp() & friends, Markus Armbruster, 2015/10/08