qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH-for-5.1 v2 00/54] various: Fix error-propagation with Coccinelle


From: Philippe Mathieu-Daudé
Subject: [PATCH-for-5.1 v2 00/54] various: Fix error-propagation with Coccinelle scripts
Date: Mon, 6 Apr 2020 19:46:49 +0200

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 wanted the reviewed patches in 5.0 [3] but it is too late
(and too big :p).  Ideally I would have split it in 4 sub-series
(roughly one with each cocci script) but since I won't have time
to continue this (soon), I'm sending it altogether so interested
can take/follow it.

If a particular patch is worth for 5.0, it can now be cherry-picked
alone, with its cocci script for reference.

Markus: I added the cocci patches to your Error section, I hope
that's fine :)

Regards,

Phil.

[1] https://www.mail-archive.com/address@hidden/msg691636.html
[2] https://www.mail-archive.com/address@hidden/msg692155.html
[3] https://www.mail-archive.com/address@hidden/msg694413.html
Supersedes: <address@hidden>

Philippe Mathieu-Daudé (54):
  various: Remove suspicious '\' character outside of #define in C code
  scripts/coccinelle: Script to simplify DeviceClass error propagation
  hw/arm/allwinner-a10: Move some code from realize() to init()
  hw/arm/aspeed_ast2600: Simplify use of Error*
  hw/arm/aspeed_ast2600: Move some code from realize() to init()
  hw/arm/aspeed_soc: Move some code from realize() to init()
  hw/arm/aspeed_soc: Simplify use of Error*
  hw/arm/fsl-imx6: Simplify checks on 'smp_cpus' count
  hw/arm/fsl-imx6: Move some code from realize() to init()
  hw/arm/fsl-imx31: Move some code from realize() to init()
  hw/arm/msf2-soc: Store MemoryRegion in MSF2State
  hw/arm/stm32f205_soc: Store MemoryRegion in STM32F205State
  hw/arm/stm32f205_soc: Move some code from realize() to init()
  hw/arm/xlnx-zynqmp: Use single propagate_error() call
  hw/arm/xlnx-zynqmp: Split xlnx_zynqmp_create_rpu() as init + realize
  hw/arm/xlnx-zynqmp: Move some code from realize() to init()
  hw/microblaze/xlnx-zynqmp-pmu: Move some code from realize() to init()
  hw/pci-host/pnv_phb3: Move some code from realize() to init()
  hw/riscv/sifive_e: Move some code from realize() to init()
  hw/riscv/sifive_u: Use single type_init()
  hw/riscv/sifive_u: Move some code from realize() to init()
  hw/riscv/sifive_u: Store MemoryRegion in SiFiveUSoCState
  hw/riscv/sifive_u: Move some code from realize() to init()
  hw/riscv/sifive_u: Rename MachineClass::init()
  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
  scripts/coccinelle: Use &error_abort in TypeInfo::instance_init()
  various: Use &error_abort in instance_init()
  scripts/coccinelle: Find eventually missing error_propagate() calls
  migration/colo: Add missing error-propagation code
  hw/mips/boston: Add missing error-propagation code
  hw/mips/mips_malta: Add missing error-propagation code
  qga/commands-win32: Add missing error-propagation code

 .../add-missing-error_propagate.cocci         |  30 +++++
 .../find-missing-error_propagate.cocci        |  53 ++++++++
 ...implify-init-realize-error_propagate.cocci |  69 ++++++++++
 .../use-error_abort-in-instance_init.cocci    |  52 ++++++++
 .../use-error_propagate-in-realize.cocci      |  54 ++++++++
 include/hw/arm/msf2-soc.h                     |   4 +
 include/hw/arm/stm32f205_soc.h                |   4 +
 include/hw/riscv/sifive_u.h                   |   2 +
 backends/cryptodev-vhost-user.c               |   2 +-
 backends/rng-egd.c                            |   2 +-
 backends/rng-random.c                         |   2 +-
 backends/vhost-user.c                         |   3 +-
 block/replication.c                           |   4 +-
 block/vhdx.c                                  |   8 +-
 dump/dump.c                                   |   2 +-
 hw/arm/allwinner-a10.c                        |  44 +++---
 hw/arm/armv7m.c                               |  12 +-
 hw/arm/aspeed_ast2600.c                       |  93 ++++++++-----
 hw/arm/aspeed_soc.c                           |  27 ++--
 hw/arm/bcm2835_peripherals.c                  |  14 +-
 hw/arm/fsl-imx25.c                            |  14 +-
 hw/arm/fsl-imx31.c                            |   4 +-
 hw/arm/fsl-imx6.c                             |  81 ++++++-----
 hw/arm/msf2-soc.c                             |  42 +++---
 hw/arm/stm32f205_soc.c                        |  38 +++---
 hw/arm/stm32f405_soc.c                        |  10 +-
 hw/arm/vexpress.c                             |   8 +-
 hw/arm/xlnx-zcu102.c                          |   8 +-
 hw/arm/xlnx-zynqmp.c                          | 126 +++++++++---------
 hw/block/fdc.c                                |   4 +-
 hw/block/onenand.c                            |   6 +-
 hw/block/vhost-user-blk.c                     |   2 +-
 hw/block/virtio-blk.c                         |   2 +-
 hw/core/machine.c                             |   6 +-
 hw/cpu/core.c                                 |   4 +-
 hw/display/vga-pci.c                          |   7 +-
 hw/display/xlnx_dp.c                          |   4 +-
 hw/dma/sparc32_dma.c                          |   2 +-
 hw/dma/xilinx_axidma.c                        |   6 +
 hw/gpio/aspeed_gpio.c                         |   2 +-
 hw/i386/x86.c                                 |   4 +
 hw/ide/macio.c                                |   4 +-
 hw/ide/qdev.c                                 |   4 +-
 hw/intc/apic_common.c                         |   2 +-
 hw/intc/arm_gicv3_its_kvm.c                   |   6 +-
 hw/mem/nvdimm.c                               |   4 +-
 hw/microblaze/xlnx-zynqmp-pmu.c               |  52 ++++----
 hw/mips/boston.c                              |  17 +--
 hw/mips/cps.c                                 |  48 +++++++
 hw/mips/mips_malta.c                          |  19 ++-
 hw/misc/aspeed_sdmc.c                         |   2 +-
 hw/misc/edu.c                                 |   3 +-
 hw/misc/macio/macio.c                         |   8 +-
 hw/misc/macio/pmu.c                           |   3 +-
 hw/misc/pca9552.c                             |   2 +-
 hw/misc/tmp105.c                              |   2 +-
 hw/misc/tmp421.c                              |   8 +-
 hw/net/e1000.c                                |   3 +-
 hw/net/lance.c                                |   3 +-
 hw/net/lasi_i82596.c                          |   3 +-
 hw/net/ne2000-isa.c                           |   4 +-
 hw/net/spapr_llan.c                           |   2 +-
 hw/net/virtio-net.c                           |   4 +-
 hw/net/xilinx_axienet.c                       |   6 +
 hw/pci-host/grackle.c                         |   2 +-
 hw/pci-host/i440fx.c                          |   8 +-
 hw/pci-host/pnv_phb3.c                        |  32 +++--
 hw/pci-host/prep.c                            |   2 +-
 hw/pci-host/q35.c                             |  23 ++--
 hw/pci-host/sabre.c                           |   3 +-
 hw/pci-host/uninorth.c                        |   9 +-
 hw/pcmcia/pxa2xx.c                            |   3 +-
 hw/ppc/spapr_drc.c                            |   6 +-
 hw/ppc/spapr_rng.c                            |   2 +-
 hw/riscv/sifive_e.c                           |  32 +++--
 hw/riscv/sifive_u.c                           | 102 ++++++++------
 hw/s390x/event-facility.c                     |   6 +-
 hw/s390x/s390-ccw.c                           |   2 +-
 hw/s390x/s390-skeys.c                         |   4 +-
 hw/s390x/s390-stattrib.c                      |   4 +-
 hw/s390x/sclp.c                               |   2 +-
 hw/scsi/scsi-bus.c                            |   2 +-
 hw/scsi/scsi-disk.c                           |   2 +-
 hw/sd/milkymist-memcard.c                     |   4 +
 hw/sd/sdhci.c                                 |   2 +-
 hw/ssi/xilinx_spips.c                         |   2 +-
 hw/usb/bus.c                                  |   4 +-
 hw/usb/dev-network.c                          |   2 +-
 hw/usb/dev-storage.c                          |   4 +-
 hw/usb/host-libusb.c                          |   2 +-
 hw/usb/redirect.c                             |   2 +-
 hw/virtio/virtio-balloon.c                    |   4 +-
 migration/colo.c                              |   3 +
 net/dump.c                                    |   4 +-
 net/filter-buffer.c                           |   2 +-
 net/filter-mirror.c                           |  10 +-
 net/filter-rewriter.c                         |   3 +-
 qga/commands-win32.c                          |  26 ++--
 target/arm/cpu64.c                            |   4 +-
 target/i386/cpu.c                             |  41 +++---
 target/microblaze/cpu.c                       |  14 +-
 target/ppc/translate_init.inc.c               |   4 +-
 target/s390x/cpu.c                            |   3 +-
 tests/check-qom-proplist.c                    |   7 +-
 tests/test-qdev-global-props.c                |   4 +-
 MAINTAINERS                                   |   5 +
 106 files changed, 1014 insertions(+), 458 deletions(-)
 create mode 100644 scripts/coccinelle/add-missing-error_propagate.cocci
 create mode 100644 scripts/coccinelle/find-missing-error_propagate.cocci
 create mode 100644 scripts/coccinelle/simplify-init-realize-error_propagate.=
cocci
 create mode 100644 scripts/coccinelle/use-error_abort-in-instance_init.cocci
 create mode 100644 scripts/coccinelle/use-error_propagate-in-realize.cocci

--=20
2.21.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]