This series is inspired of Peter Maydell fix [1]: "hw/arm/xlnx-zynqmp.c: fix some error-handling code", but grew after v1 [2] review :/
Markus: I added the cocci patches to your Error section, I hope that's fine :) Part 2: Add missing error_propagate() calls in DeviceClass::realize(). Regards, Phil. [1] https://www.mail-archive.com/qemu-devel@nongnu.org/msg691636.html [2] https://www.mail-archive.com/qemu-devel@nongnu.org/msg692155.html Based-on: <20200412223619.11284-1-f4...@amsat.org> Philippe Mathieu-Daudé (23): scripts/coccinelle: Catch missing error_propagate() calls in realize() hw/arm/fsl-imx: Add missing error-propagation code hw/arm/stm32f*05_soc: Add missing error-propagation code hw/arm/aspeed: Add missing error-propagation code hw/arm/allwinner-a10: Add missing error-propagation code hw/arm/msf2-soc: Add missing error-propagation code hw/riscv/sifive: Add missing error-propagation code hw/arm/armv7m: Add missing error-propagation code hw/intc/arm_gicv3_its_kvm: Add missing error-propagation code hw/microblaze/xlnx-zynqmp-pmu: Add missing error-propagation code hw/pci-host/pnv_phb3: Add missing error-propagation code hw/block/onenand: Add missing error-propagation code scripts/coccinelle: Add script to catch missing error_propagate() calls hw/arm/bcm2835_peripherals: Add missing error-propagation code hw/arm/fsl-imx: Add missing error-propagation code hw/arm/stm32fx05_soc: Add missing error-propagation code hw/dma/xilinx_axidma: Add missing error-propagation code hw/i386/x86: Add missing error-propagation code hw/mips/cps: Add missing error-propagation code hw/misc/macio/macio: Add missing error-propagation code hw/net/xilinx_axienet: Add missing error-propagation code hw/riscv/sifive_u: Add missing error-propagation code hw/sd/milkymist-memcard: Add missing error-propagation code .../add-missing-error_propagate.cocci | 30 +++++++++++ .../use-error_propagate-in-realize.cocci | 54 +++++++++++++++++++ hw/arm/allwinner-a10.c | 18 +++++-- hw/arm/armv7m.c | 12 ++++- hw/arm/aspeed_ast2600.c | 36 ++++++++++--- hw/arm/aspeed_soc.c | 12 ++++- hw/arm/bcm2835_peripherals.c | 8 +++ hw/arm/fsl-imx25.c | 14 ++++- hw/arm/fsl-imx6.c | 26 +++++++-- hw/arm/msf2-soc.c | 24 +++++++-- hw/arm/stm32f205_soc.c | 10 +++- hw/arm/stm32f405_soc.c | 10 +++- hw/block/onenand.c | 6 ++- hw/dma/xilinx_axidma.c | 6 +++ hw/i386/x86.c | 4 ++ hw/intc/arm_gicv3_its_kvm.c | 6 ++- hw/microblaze/xlnx-zynqmp-pmu.c | 6 ++- hw/mips/cps.c | 48 +++++++++++++++++ hw/misc/macio/macio.c | 4 ++ hw/net/xilinx_axienet.c | 6 +++ hw/pci-host/pnv_phb3.c | 24 +++++++-- hw/riscv/sifive_e.c | 6 ++- hw/riscv/sifive_u.c | 32 +++++++++-- hw/sd/milkymist-memcard.c | 4 ++ MAINTAINERS | 2 + 25 files changed, 373 insertions(+), 35 deletions(-) create mode 100644 scripts/coccinelle/add-missing-error_propagate.cocci create mode 100644 scripts/coccinelle/use-error_propagate-in-realize.cocci -- 2.21.1