[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH-for-5.1 v2 49/54] various: Use &error_abort in instance_init(
From: |
Cédric Le Goater |
Subject: |
Re: [PATCH-for-5.1 v2 49/54] various: Use &error_abort in instance_init() |
Date: |
Tue, 7 Apr 2020 08:47:04 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 |
On 4/6/20 7:47 PM, Philippe Mathieu-Daudé wrote:
> Patch created mechanically by running:
>
> $ spatch \
> --macro-file scripts/cocci-macro-file.h \
> --include-headers --keep-comments --in-place \
> --sp-file \
> scripts/coccinelle/use-error_abort-in-instance_init.cocci
>
> Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
For the aspeed part,
Reviewed-by: Cédric Le Goater <address@hidden>
Thanks,
C.
> ---
> backends/cryptodev-vhost-user.c | 2 +-
> backends/rng-egd.c | 2 +-
> backends/rng-random.c | 2 +-
> backends/vhost-user.c | 3 ++-
> hw/arm/bcm2835_peripherals.c | 6 ++++--
> hw/arm/vexpress.c | 8 ++++----
> hw/arm/xlnx-zcu102.c | 8 ++++----
> hw/block/fdc.c | 4 ++--
> 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/gpio/aspeed_gpio.c | 2 +-
> hw/ide/macio.c | 4 +++-
> hw/ide/qdev.c | 4 ++--
> hw/intc/apic_common.c | 2 +-
> hw/mem/nvdimm.c | 4 ++--
> hw/misc/aspeed_sdmc.c | 2 +-
> hw/misc/edu.c | 3 ++-
> hw/misc/macio/macio.c | 4 ++--
> 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 | 2 +-
> hw/pci-host/grackle.c | 2 +-
> hw/pci-host/i440fx.c | 8 ++++----
> 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_u.c | 4 ++--
> 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/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 ++--
> net/dump.c | 4 ++--
> net/filter-buffer.c | 2 +-
> net/filter-mirror.c | 10 +++++-----
> net/filter-rewriter.c | 3 ++-
> target/arm/cpu64.c | 4 ++--
> target/i386/cpu.c | 23 ++++++++++++++---------
> target/s390x/cpu.c | 3 ++-
> tests/check-qom-proplist.c | 7 ++++---
> tests/test-qdev-global-props.c | 4 ++--
> 65 files changed, 155 insertions(+), 126 deletions(-)
>
> diff --git a/backends/cryptodev-vhost-user.c b/backends/cryptodev-vhost-user.c
> index 6edada8e9e..2fb28c13ac 100644
> --- a/backends/cryptodev-vhost-user.c
> +++ b/backends/cryptodev-vhost-user.c
> @@ -341,7 +341,7 @@ static void cryptodev_vhost_user_instance_int(Object *obj)
> object_property_add_str(obj, "chardev",
> cryptodev_vhost_user_get_chardev,
> cryptodev_vhost_user_set_chardev,
> - NULL);
> + &error_abort);
> }
>
> static void cryptodev_vhost_user_finalize(Object *obj)
> diff --git a/backends/rng-egd.c b/backends/rng-egd.c
> index e380519408..58fb73f03a 100644
> --- a/backends/rng-egd.c
> +++ b/backends/rng-egd.c
> @@ -139,7 +139,7 @@ static void rng_egd_init(Object *obj)
> {
> object_property_add_str(obj, "chardev",
> rng_egd_get_chardev, rng_egd_set_chardev,
> - NULL);
> + &error_abort);
> }
>
> static void rng_egd_finalize(Object *obj)
> diff --git a/backends/rng-random.c b/backends/rng-random.c
> index a810581393..6429276a95 100644
> --- a/backends/rng-random.c
> +++ b/backends/rng-random.c
> @@ -111,7 +111,7 @@ static void rng_random_init(Object *obj)
> object_property_add_str(obj, "filename",
> rng_random_get_filename,
> rng_random_set_filename,
> - NULL);
> + &error_abort);
>
> s->filename = g_strdup("/dev/urandom");
> s->fd = -1;
> diff --git a/backends/vhost-user.c b/backends/vhost-user.c
> index 2bf3406525..491da81653 100644
> --- a/backends/vhost-user.c
> +++ b/backends/vhost-user.c
> @@ -177,7 +177,8 @@ static char *get_chardev(Object *obj, Error **errp)
>
> static void vhost_user_backend_init(Object *obj)
> {
> - object_property_add_str(obj, "chardev", get_chardev, set_chardev, NULL);
> + object_property_add_str(obj, "chardev", get_chardev, set_chardev,
> + &error_abort);
> }
>
> static void vhost_user_backend_finalize(Object *obj)
> diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c
> index a111e91069..201123dd05 100644
> --- a/hw/arm/bcm2835_peripherals.c
> +++ b/hw/arm/bcm2835_peripherals.c
> @@ -43,12 +43,14 @@ static void bcm2835_peripherals_init(Object *obj)
>
> /* Memory region for peripheral devices, which we export to our parent */
> memory_region_init(&s->peri_mr, obj,"bcm2835-peripherals", 0x1000000);
> - object_property_add_child(obj, "peripheral-io", OBJECT(&s->peri_mr),
> NULL);
> + object_property_add_child(obj, "peripheral-io", OBJECT(&s->peri_mr),
> + &error_abort);
> sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->peri_mr);
>
> /* Internal memory region for peripheral bus addresses (not exported) */
> memory_region_init(&s->gpu_bus_mr, obj, "bcm2835-gpu", (uint64_t)1 <<
> 32);
> - object_property_add_child(obj, "gpu-bus", OBJECT(&s->gpu_bus_mr), NULL);
> + object_property_add_child(obj, "gpu-bus", OBJECT(&s->gpu_bus_mr),
> + &error_abort);
>
> /* Internal memory region for request/response communication with
> * mailbox-addressable peripherals (not exported)
> diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c
> index ed683eeea5..7f79c4eb13 100644
> --- a/hw/arm/vexpress.c
> +++ b/hw/arm/vexpress.c
> @@ -749,11 +749,11 @@ static void vexpress_instance_init(Object *obj)
> /* EL3 is enabled by default on vexpress */
> vms->secure = true;
> object_property_add_bool(obj, "secure", vexpress_get_secure,
> - vexpress_set_secure, NULL);
> + vexpress_set_secure, &error_abort);
> object_property_set_description(obj, "secure",
> "Set on/off to enable/disable the ARM "
> "Security Extensions (TrustZone)",
> - NULL);
> + &error_abort);
> }
>
> static void vexpress_a15_instance_init(Object *obj)
> @@ -766,12 +766,12 @@ static void vexpress_a15_instance_init(Object *obj)
> */
> vms->virt = true;
> object_property_add_bool(obj, "virtualization", vexpress_get_virt,
> - vexpress_set_virt, NULL);
> + vexpress_set_virt, &error_abort);
> object_property_set_description(obj, "virtualization",
> "Set on/off to enable/disable the ARM "
> "Virtualization Extensions "
> "(defaults to same as 'secure')",
> - NULL);
> + &error_abort);
> }
>
> static void vexpress_a9_instance_init(Object *obj)
> diff --git a/hw/arm/xlnx-zcu102.c b/hw/arm/xlnx-zcu102.c
> index bd645ad818..e4d233ec58 100644
> --- a/hw/arm/xlnx-zcu102.c
> +++ b/hw/arm/xlnx-zcu102.c
> @@ -178,21 +178,21 @@ static void xlnx_zcu102_machine_instance_init(Object
> *obj)
> /* Default to secure mode being disabled */
> s->secure = false;
> object_property_add_bool(obj, "secure", zcu102_get_secure,
> - zcu102_set_secure, NULL);
> + zcu102_set_secure, &error_abort);
> object_property_set_description(obj, "secure",
> "Set on/off to enable/disable the ARM "
> "Security Extensions (TrustZone)",
> - NULL);
> + &error_abort);
>
> /* Default to virt (EL2) being disabled */
> s->virt = false;
> object_property_add_bool(obj, "virtualization", zcu102_get_virt,
> - zcu102_set_virt, NULL);
> + zcu102_set_virt, &error_abort);
> object_property_set_description(obj, "virtualization",
> "Set on/off to enable/disable emulating
> a "
> "guest CPU which implements the ARM "
> "Virtualization Extensions",
> - NULL);
> + &error_abort);
> }
>
> static void xlnx_zcu102_machine_class_init(ObjectClass *oc, void *data)
> diff --git a/hw/block/fdc.c b/hw/block/fdc.c
> index 33bc9e2f92..29b499260d 100644
> --- a/hw/block/fdc.c
> +++ b/hw/block/fdc.c
> @@ -2812,10 +2812,10 @@ static void isabus_fdc_instance_init(Object *obj)
>
> device_add_bootindex_property(obj, &isa->bootindexA,
> "bootindexA", "/floppy@0",
> - DEVICE(obj), NULL);
> + DEVICE(obj), &error_abort);
> device_add_bootindex_property(obj, &isa->bootindexB,
> "bootindexB", "/floppy@1",
> - DEVICE(obj), NULL);
> + DEVICE(obj), &error_abort);
> }
>
> static const TypeInfo isa_fdc_info = {
> diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c
> index 17df5338e7..22ddccefce 100644
> --- a/hw/block/vhost-user-blk.c
> +++ b/hw/block/vhost-user-blk.c
> @@ -477,7 +477,7 @@ static void vhost_user_blk_instance_init(Object *obj)
> VHostUserBlk *s = VHOST_USER_BLK(obj);
>
> device_add_bootindex_property(obj, &s->bootindex, "bootindex",
> - "/disk@0,0", DEVICE(obj), NULL);
> + "/disk@0,0", DEVICE(obj), &error_abort);
> }
>
> static const VMStateDescription vmstate_vhost_user_blk = {
> diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c
> index 97ba8a2187..5af420fd15 100644
> --- a/hw/block/virtio-blk.c
> +++ b/hw/block/virtio-blk.c
> @@ -1248,7 +1248,7 @@ static void virtio_blk_instance_init(Object *obj)
>
> device_add_bootindex_property(obj, &s->conf.conf.bootindex,
> "bootindex", "/disk@0,0",
> - DEVICE(obj), NULL);
> + DEVICE(obj), &error_abort);
> }
>
> static const VMStateDescription vmstate_virtio_blk = {
> diff --git a/hw/core/machine.c b/hw/core/machine.c
> index de0c425605..6c114cdd6b 100644
> --- a/hw/core/machine.c
> +++ b/hw/core/machine.c
> @@ -894,7 +894,7 @@ static void machine_initfn(Object *obj)
> &error_abort);
> object_property_set_description(obj, "nvdimm",
> "Set on/off to enable/disable "
> - "NVDIMM instantiation", NULL);
> + "NVDIMM instantiation",
> &error_abort);
>
> object_property_add_str(obj, "nvdimm-persistence",
> machine_get_nvdimm_persistence,
> @@ -903,7 +903,7 @@ static void machine_initfn(Object *obj)
> object_property_set_description(obj, "nvdimm-persistence",
> "Set NVDIMM persistence"
> "Valid values are cpu, mem-ctrl",
> - NULL);
> + &error_abort);
> }
>
> if (mc->cpu_index_to_instance_props && mc->get_default_cpu_node_id) {
> @@ -914,7 +914,7 @@ static void machine_initfn(Object *obj)
> object_property_set_description(obj, "hmat",
> "Set on/off to enable/disable "
> "ACPI Heterogeneous Memory Attribute
> "
> - "Table (HMAT)", NULL);
> + "Table (HMAT)", &error_abort);
> }
>
> object_property_add_str(obj, "memory-backend",
> diff --git a/hw/cpu/core.c b/hw/cpu/core.c
> index 9874c5c870..aa0040f8e6 100644
> --- a/hw/cpu/core.c
> +++ b/hw/cpu/core.c
> @@ -76,9 +76,9 @@ static void cpu_core_instance_init(Object *obj)
> CPUCore *core = CPU_CORE(obj);
>
> object_property_add(obj, "core-id", "int", core_prop_get_core_id,
> - core_prop_set_core_id, NULL, NULL, NULL);
> + core_prop_set_core_id, NULL, NULL, &error_abort);
> object_property_add(obj, "nr-threads", "int", core_prop_get_nr_threads,
> - core_prop_set_nr_threads, NULL, NULL, NULL);
> + core_prop_set_nr_threads, NULL, NULL, &error_abort);
> core->nr_threads = ms->smp.threads;
> }
>
> diff --git a/hw/display/vga-pci.c b/hw/display/vga-pci.c
> index 6b9db86e36..423943bd35 100644
> --- a/hw/display/vga-pci.c
> +++ b/hw/display/vga-pci.c
> @@ -25,6 +25,7 @@
> */
>
> #include "qemu/osdep.h"
> +#include "qapi/error.h"
> #include "hw/pci/pci.h"
> #include "hw/qdev-properties.h"
> #include "migration/vmstate.h"
> @@ -270,7 +271,8 @@ static void pci_std_vga_init(Object *obj)
> {
> /* Expose framebuffer byteorder via QOM */
> object_property_add_bool(obj, "big-endian-framebuffer",
> - vga_get_big_endian_fb, vga_set_big_endian_fb,
> NULL);
> + vga_get_big_endian_fb, vga_set_big_endian_fb,
> + &error_abort);
> }
>
> static void pci_secondary_vga_realize(PCIDevice *dev, Error **errp)
> @@ -321,7 +323,8 @@ static void pci_secondary_vga_init(Object *obj)
> {
> /* Expose framebuffer byteorder via QOM */
> object_property_add_bool(obj, "big-endian-framebuffer",
> - vga_get_big_endian_fb, vga_set_big_endian_fb,
> NULL);
> + vga_get_big_endian_fb, vga_set_big_endian_fb,
> + &error_abort);
> }
>
> static void pci_secondary_vga_reset(DeviceState *dev)
> diff --git a/hw/display/xlnx_dp.c b/hw/display/xlnx_dp.c
> index 7058443797..af5958d256 100644
> --- a/hw/display/xlnx_dp.c
> +++ b/hw/display/xlnx_dp.c
> @@ -1249,11 +1249,11 @@ static void xlnx_dp_init(Object *obj)
> * Initialize DPCD and EDID..
> */
> s->dpcd = DPCD(aux_create_slave(s->aux_bus, "dpcd"));
> - object_property_add_child(OBJECT(s), "dpcd", OBJECT(s->dpcd), NULL);
> + object_property_add_child(OBJECT(s), "dpcd", OBJECT(s->dpcd),
> &error_abort);
>
> s->edid = I2CDDC(qdev_create(BUS(aux_get_i2c_bus(s->aux_bus)),
> "i2c-ddc"));
> i2c_set_slave_address(I2C_SLAVE(s->edid), 0x50);
> - object_property_add_child(OBJECT(s), "edid", OBJECT(s->edid), NULL);
> + object_property_add_child(OBJECT(s), "edid", OBJECT(s->edid),
> &error_abort);
>
> fifo8_create(&s->rx_fifo, 16);
> fifo8_create(&s->tx_fifo, 16);
> diff --git a/hw/dma/sparc32_dma.c b/hw/dma/sparc32_dma.c
> index 3e4da0c47f..cd751b6d63 100644
> --- a/hw/dma/sparc32_dma.c
> +++ b/hw/dma/sparc32_dma.c
> @@ -264,7 +264,7 @@ static void sparc32_dma_device_init(Object *obj)
> object_property_add_link(OBJECT(dev), "iommu", TYPE_SUN4M_IOMMU,
> (Object **) &s->iommu,
> qdev_prop_allow_set_link_before_realize,
> - 0, NULL);
> + 0, &error_abort);
>
> qdev_init_gpio_in(dev, dma_set_irq, 1);
> qdev_init_gpio_out(dev, s->gpio, 2);
> diff --git a/hw/gpio/aspeed_gpio.c b/hw/gpio/aspeed_gpio.c
> index e52fcfd9a0..8aed5c4583 100644
> --- a/hw/gpio/aspeed_gpio.c
> +++ b/hw/gpio/aspeed_gpio.c
> @@ -873,7 +873,7 @@ static void aspeed_gpio_init(Object *obj)
> name = g_strdup_printf("gpio%s%d", props->group_label[group_idx],
> pin_idx % GPIOS_PER_GROUP);
> object_property_add(obj, name, "bool", aspeed_gpio_get_pin,
> - aspeed_gpio_set_pin, NULL, NULL, NULL);
> + aspeed_gpio_set_pin, NULL, NULL, &error_abort);
> g_free(name);
> }
> }
> diff --git a/hw/ide/macio.c b/hw/ide/macio.c
> index a9f25e5d02..c4e20a246f 100644
> --- a/hw/ide/macio.c
> +++ b/hw/ide/macio.c
> @@ -24,6 +24,7 @@
> */
>
> #include "qemu/osdep.h"
> +#include "qapi/error.h"
> #include "hw/ppc/mac.h"
> #include "hw/ppc/mac_dbdma.h"
> #include "hw/qdev-properties.h"
> @@ -459,7 +460,8 @@ static void macio_ide_initfn(Object *obj)
>
> object_property_add_link(obj, "dbdma", TYPE_MAC_DBDMA,
> (Object **) &s->dbdma,
> - qdev_prop_allow_set_link_before_realize, 0,
> NULL);
> + qdev_prop_allow_set_link_before_realize, 0,
> + &error_abort);
> }
>
> static Property macio_ide_properties[] = {
> diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c
> index c22afdb8ee..a25c424bdf 100644
> --- a/hw/ide/qdev.c
> +++ b/hw/ide/qdev.c
> @@ -266,8 +266,8 @@ static void ide_dev_instance_init(Object *obj)
> {
> object_property_add(obj, "bootindex", "int32",
> ide_dev_get_bootindex,
> - ide_dev_set_bootindex, NULL, NULL, NULL);
> - object_property_set_int(obj, -1, "bootindex", NULL);
> + ide_dev_set_bootindex, NULL, NULL, &error_abort);
> + object_property_set_int(obj, -1, "bootindex", &error_abort);
> }
>
> static void ide_hd_realize(IDEDevice *dev, Error **errp)
> diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c
> index 9ec0f2deb2..710deed276 100644
> --- a/hw/intc/apic_common.c
> +++ b/hw/intc/apic_common.c
> @@ -445,7 +445,7 @@ static void apic_common_initfn(Object *obj)
> s->id = s->initial_apic_id = -1;
> object_property_add(obj, "id", "uint32",
> apic_common_get_id,
> - apic_common_set_id, NULL, NULL, NULL);
> + apic_common_set_id, NULL, NULL, &error_abort);
> }
>
> static void apic_common_class_init(ObjectClass *klass, void *data)
> diff --git a/hw/mem/nvdimm.c b/hw/mem/nvdimm.c
> index 8e426d24bb..be9f145dfd 100644
> --- a/hw/mem/nvdimm.c
> +++ b/hw/mem/nvdimm.c
> @@ -110,10 +110,10 @@ static void nvdimm_init(Object *obj)
> {
> object_property_add(obj, NVDIMM_LABEL_SIZE_PROP, "int",
> nvdimm_get_label_size, nvdimm_set_label_size, NULL,
> - NULL, NULL);
> + NULL, &error_abort);
>
> object_property_add(obj, NVDIMM_UUID_PROP, "QemuUUID", nvdimm_get_uuid,
> - nvdimm_set_uuid, NULL, NULL, NULL);
> + nvdimm_set_uuid, NULL, NULL, &error_abort);
> }
>
> static void nvdimm_finalize(Object *obj)
> diff --git a/hw/misc/aspeed_sdmc.c b/hw/misc/aspeed_sdmc.c
> index 7b466bf19a..6154cd23d8 100644
> --- a/hw/misc/aspeed_sdmc.c
> +++ b/hw/misc/aspeed_sdmc.c
> @@ -255,7 +255,7 @@ static void aspeed_sdmc_initfn(Object *obj)
> {
> object_property_add(obj, "ram-size", "int",
> aspeed_sdmc_get_ram_size, aspeed_sdmc_set_ram_size,
> - NULL, NULL, NULL);
> + NULL, NULL, &error_abort);
> }
>
> static void aspeed_sdmc_realize(DeviceState *dev, Error **errp)
> diff --git a/hw/misc/edu.c b/hw/misc/edu.c
> index ff10f5b794..9ecbfc767b 100644
> --- a/hw/misc/edu.c
> +++ b/hw/misc/edu.c
> @@ -23,6 +23,7 @@
> */
>
> #include "qemu/osdep.h"
> +#include "qapi/error.h"
> #include "qemu/units.h"
> #include "hw/pci/pci.h"
> #include "hw/hw.h"
> @@ -403,7 +404,7 @@ static void edu_instance_init(Object *obj)
> edu->dma_mask = (1UL << 28) - 1;
> object_property_add_uint64_ptr(obj, "dma_mask",
> &edu->dma_mask, OBJ_PROP_FLAG_READWRITE,
> - NULL);
> + &error_abort);
> }
>
> static void edu_class_init(ObjectClass *class, void *data)
> diff --git a/hw/misc/macio/macio.c b/hw/misc/macio/macio.c
> index fffb64a7d5..3c40256ae5 100644
> --- a/hw/misc/macio/macio.c
> +++ b/hw/misc/macio/macio.c
> @@ -241,7 +241,7 @@ static void macio_oldworld_init(Object *obj)
> object_property_add_link(obj, "pic", TYPE_HEATHROW,
> (Object **) &os->pic,
> qdev_prop_allow_set_link_before_realize,
> - 0, NULL);
> + 0, &error_abort);
>
> macio_init_child_obj(s, "cuda", &s->cuda, sizeof(s->cuda), TYPE_CUDA);
>
> @@ -401,7 +401,7 @@ static void macio_newworld_init(Object *obj)
> object_property_add_link(obj, "pic", TYPE_OPENPIC,
> (Object **) &ns->pic,
> qdev_prop_allow_set_link_before_realize,
> - 0, NULL);
> + 0, &error_abort);
>
> macio_init_child_obj(s, "gpio", &ns->gpio, sizeof(ns->gpio),
> TYPE_MACIO_GPIO);
> diff --git a/hw/misc/macio/pmu.c b/hw/misc/macio/pmu.c
> index b8466a4a3f..22b380e2fd 100644
> --- a/hw/misc/macio/pmu.c
> +++ b/hw/misc/macio/pmu.c
> @@ -30,6 +30,7 @@
>
> #include "qemu/osdep.h"
> #include "qemu-common.h"
> +#include "qapi/error.h"
> #include "hw/ppc/mac.h"
> #include "hw/qdev-properties.h"
> #include "migration/vmstate.h"
> @@ -773,7 +774,7 @@ static void pmu_init(Object *obj)
> object_property_add_link(obj, "gpio", TYPE_MACIO_GPIO,
> (Object **) &s->gpio,
> qdev_prop_allow_set_link_before_realize,
> - 0, NULL);
> + 0, &error_abort);
>
> sysbus_init_child_obj(obj, "mos6522-pmu", &s->mos6522_pmu,
> sizeof(s->mos6522_pmu), TYPE_MOS6522_PMU);
> diff --git a/hw/misc/pca9552.c b/hw/misc/pca9552.c
> index efd961e041..9abb84cb24 100644
> --- a/hw/misc/pca9552.c
> +++ b/hw/misc/pca9552.c
> @@ -298,7 +298,7 @@ static void pca9552_initfn(Object *obj)
>
> name = g_strdup_printf("led%d", led);
> object_property_add(obj, name, "bool", pca9552_get_led,
> pca9552_set_led,
> - NULL, NULL, NULL);
> + NULL, NULL, &error_abort);
> g_free(name);
> }
> }
> diff --git a/hw/misc/tmp105.c b/hw/misc/tmp105.c
> index 75ddad3a12..e3e1f03e51 100644
> --- a/hw/misc/tmp105.c
> +++ b/hw/misc/tmp105.c
> @@ -245,7 +245,7 @@ static void tmp105_initfn(Object *obj)
> {
> object_property_add(obj, "temperature", "int",
> tmp105_get_temperature,
> - tmp105_set_temperature, NULL, NULL, NULL);
> + tmp105_set_temperature, NULL, NULL, &error_abort);
> }
>
> static void tmp105_class_init(ObjectClass *klass, void *data)
> diff --git a/hw/misc/tmp421.c b/hw/misc/tmp421.c
> index c0bc150bca..a49835f6b6 100644
> --- a/hw/misc/tmp421.c
> +++ b/hw/misc/tmp421.c
> @@ -347,16 +347,16 @@ static void tmp421_initfn(Object *obj)
> {
> object_property_add(obj, "temperature0", "int",
> tmp421_get_temperature,
> - tmp421_set_temperature, NULL, NULL, NULL);
> + tmp421_set_temperature, NULL, NULL, &error_abort);
> object_property_add(obj, "temperature1", "int",
> tmp421_get_temperature,
> - tmp421_set_temperature, NULL, NULL, NULL);
> + tmp421_set_temperature, NULL, NULL, &error_abort);
> object_property_add(obj, "temperature2", "int",
> tmp421_get_temperature,
> - tmp421_set_temperature, NULL, NULL, NULL);
> + tmp421_set_temperature, NULL, NULL, &error_abort);
> object_property_add(obj, "temperature3", "int",
> tmp421_get_temperature,
> - tmp421_set_temperature, NULL, NULL, NULL);
> + tmp421_set_temperature, NULL, NULL, &error_abort);
> }
>
> static void tmp421_class_init(ObjectClass *klass, void *data)
> diff --git a/hw/net/e1000.c b/hw/net/e1000.c
> index 2a69eee63f..6b76e71e4c 100644
> --- a/hw/net/e1000.c
> +++ b/hw/net/e1000.c
> @@ -26,6 +26,7 @@
>
>
> #include "qemu/osdep.h"
> +#include "qapi/error.h"
> #include "hw/pci/pci.h"
> #include "hw/qdev-properties.h"
> #include "migration/vmstate.h"
> @@ -1774,7 +1775,7 @@ static void e1000_instance_init(Object *obj)
> E1000State *n = E1000(obj);
> device_add_bootindex_property(obj, &n->conf.bootindex,
> "bootindex", "/ethernet-phy@0",
> - DEVICE(n), NULL);
> + DEVICE(n), &error_abort);
> }
>
> static const TypeInfo e1000_base_info = {
> diff --git a/hw/net/lance.c b/hw/net/lance.c
> index 688724db0b..436a40225b 100644
> --- a/hw/net/lance.c
> +++ b/hw/net/lance.c
> @@ -38,6 +38,7 @@
> #include "qemu/osdep.h"
> #include "qemu/module.h"
> #include "qemu/timer.h"
> +#include "qapi/error.h"
> #include "hw/sparc/sparc32_dma.h"
> #include "migration/vmstate.h"
> #include "hw/net/lance.h"
> @@ -134,7 +135,7 @@ static void lance_instance_init(Object *obj)
>
> device_add_bootindex_property(obj, &s->conf.bootindex,
> "bootindex", "/ethernet-phy@0",
> - DEVICE(obj), NULL);
> + DEVICE(obj), &error_abort);
> }
>
> static Property lance_properties[] = {
> diff --git a/hw/net/lasi_i82596.c b/hw/net/lasi_i82596.c
> index 52637a562d..7c7e9f3366 100644
> --- a/hw/net/lasi_i82596.c
> +++ b/hw/net/lasi_i82596.c
> @@ -11,6 +11,7 @@
> */
>
> #include "qemu/osdep.h"
> +#include "qapi/error.h"
> #include "qemu/timer.h"
> #include "hw/sysbus.h"
> #include "net/eth.h"
> @@ -152,7 +153,7 @@ static void lasi_82596_instance_init(Object *obj)
>
> device_add_bootindex_property(obj, &s->conf.bootindex,
> "bootindex", "/ethernet-phy@0",
> - DEVICE(obj), NULL);
> + DEVICE(obj), &error_abort);
> }
>
> static Property lasi_82596_properties[] = {
> diff --git a/hw/net/ne2000-isa.c b/hw/net/ne2000-isa.c
> index e744eff153..fece06c59f 100644
> --- a/hw/net/ne2000-isa.c
> +++ b/hw/net/ne2000-isa.c
> @@ -133,8 +133,8 @@ static void isa_ne2000_instance_init(Object *obj)
> {
> object_property_add(obj, "bootindex", "int32",
> isa_ne2000_get_bootindex,
> - isa_ne2000_set_bootindex, NULL, NULL, NULL);
> - object_property_set_int(obj, -1, "bootindex", NULL);
> + isa_ne2000_set_bootindex, NULL, NULL, &error_abort);
> + object_property_set_int(obj, -1, "bootindex", &error_abort);
> }
> static const TypeInfo ne2000_isa_info = {
> .name = TYPE_ISA_NE2000,
> diff --git a/hw/net/spapr_llan.c b/hw/net/spapr_llan.c
> index a2377025a7..047acab431 100644
> --- a/hw/net/spapr_llan.c
> +++ b/hw/net/spapr_llan.c
> @@ -340,7 +340,7 @@ static void spapr_vlan_instance_init(Object *obj)
>
> device_add_bootindex_property(obj, &dev->nicconf.bootindex,
> "bootindex", "",
> - DEVICE(dev), NULL);
> + DEVICE(dev), &error_abort);
>
> if (dev->compat_flags & SPAPRVLAN_FLAG_RX_BUF_POOLS) {
> for (i = 0; i < RX_MAX_POOLS; i++) {
> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
> index eddfa7f923..ba93984c6d 100644
> --- a/hw/net/virtio-net.c
> +++ b/hw/net/virtio-net.c
> @@ -3122,7 +3122,7 @@ static void virtio_net_instance_init(Object *obj)
> n->config_size = sizeof(struct virtio_net_config);
> device_add_bootindex_property(obj, &n->nic_conf.bootindex,
> "bootindex", "/ethernet-phy@0",
> - DEVICE(n), NULL);
> + DEVICE(n), &error_abort);
> }
>
> static int virtio_net_pre_save(void *opaque)
> diff --git a/hw/pci-host/grackle.c b/hw/pci-host/grackle.c
> index 24ccdf6ceb..89e37c4bf8 100644
> --- a/hw/pci-host/grackle.c
> +++ b/hw/pci-host/grackle.c
> @@ -109,7 +109,7 @@ static void grackle_init(Object *obj)
> object_property_add_link(obj, "pic", TYPE_HEATHROW,
> (Object **) &s->pic,
> qdev_prop_allow_set_link_before_realize,
> - 0, NULL);
> + 0, &error_abort);
>
> sysbus_init_mmio(sbd, &phb->conf_mem);
> sysbus_init_mmio(sbd, &phb->data_mem);
> diff --git a/hw/pci-host/i440fx.c b/hw/pci-host/i440fx.c
> index d980c97049..512ff600a6 100644
> --- a/hw/pci-host/i440fx.c
> +++ b/hw/pci-host/i440fx.c
> @@ -212,19 +212,19 @@ static void i440fx_pcihost_initfn(Object *obj)
>
> object_property_add(obj, PCI_HOST_PROP_PCI_HOLE_START, "uint32",
> i440fx_pcihost_get_pci_hole_start,
> - NULL, NULL, NULL, NULL);
> + NULL, NULL, NULL, &error_abort);
>
> object_property_add(obj, PCI_HOST_PROP_PCI_HOLE_END, "uint32",
> i440fx_pcihost_get_pci_hole_end,
> - NULL, NULL, NULL, NULL);
> + NULL, NULL, NULL, &error_abort);
>
> object_property_add(obj, PCI_HOST_PROP_PCI_HOLE64_START, "uint64",
> i440fx_pcihost_get_pci_hole64_start,
> - NULL, NULL, NULL, NULL);
> + NULL, NULL, NULL, &error_abort);
>
> object_property_add(obj, PCI_HOST_PROP_PCI_HOLE64_END, "uint64",
> i440fx_pcihost_get_pci_hole64_end,
> - NULL, NULL, NULL, NULL);
> + NULL, NULL, NULL, &error_abort);
> }
>
> static void i440fx_pcihost_realize(DeviceState *dev, Error **errp)
> diff --git a/hw/pci-host/prep.c b/hw/pci-host/prep.c
> index 1a02e9a670..22dc3bd033 100644
> --- a/hw/pci-host/prep.c
> +++ b/hw/pci-host/prep.c
> @@ -311,7 +311,7 @@ static void raven_pcihost_initfn(Object *obj)
> pci_dev = DEVICE(&s->pci_dev);
> qdev_set_parent_bus(pci_dev, BUS(&s->pci_bus));
> object_property_set_int(OBJECT(&s->pci_dev), PCI_DEVFN(0, 0), "addr",
> - NULL);
> + &error_abort);
> qdev_prop_set_bit(pci_dev, "multifunction", false);
> }
>
> diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c
> index 2bbc90b28f..f05fbae3c9 100644
> --- a/hw/pci-host/q35.c
> +++ b/hw/pci-host/q35.c
> @@ -222,38 +222,43 @@ static void q35_host_initfn(Object *obj)
> Q35_PCI_HOST_HOLE64_SIZE_DEFAULT);
> object_property_add(obj, PCI_HOST_PROP_PCI_HOLE_START, "uint32",
> q35_host_get_pci_hole_start,
> - NULL, NULL, NULL, NULL);
> + NULL, NULL, NULL, &error_abort);
>
> object_property_add(obj, PCI_HOST_PROP_PCI_HOLE_END, "uint32",
> q35_host_get_pci_hole_end,
> - NULL, NULL, NULL, NULL);
> + NULL, NULL, NULL, &error_abort);
>
> object_property_add(obj, PCI_HOST_PROP_PCI_HOLE64_START, "uint64",
> q35_host_get_pci_hole64_start,
> - NULL, NULL, NULL, NULL);
> + NULL, NULL, NULL, &error_abort);
>
> object_property_add(obj, PCI_HOST_PROP_PCI_HOLE64_END, "uint64",
> q35_host_get_pci_hole64_end,
> - NULL, NULL, NULL, NULL);
> + NULL, NULL, NULL, &error_abort);
>
> object_property_add_uint64_ptr(obj, PCIE_HOST_MCFG_SIZE,
> - &pehb->size, OBJ_PROP_FLAG_READ, NULL);
> + &pehb->size, OBJ_PROP_FLAG_READ,
> + &error_abort);
>
> object_property_add_link(obj, MCH_HOST_PROP_RAM_MEM, TYPE_MEMORY_REGION,
> (Object **) &s->mch.ram_memory,
> - qdev_prop_allow_set_link_before_realize, 0,
> NULL);
> + qdev_prop_allow_set_link_before_realize, 0,
> + &error_abort);
>
> object_property_add_link(obj, MCH_HOST_PROP_PCI_MEM, TYPE_MEMORY_REGION,
> (Object **) &s->mch.pci_address_space,
> - qdev_prop_allow_set_link_before_realize, 0,
> NULL);
> + qdev_prop_allow_set_link_before_realize, 0,
> + &error_abort);
>
> object_property_add_link(obj, MCH_HOST_PROP_SYSTEM_MEM,
> TYPE_MEMORY_REGION,
> (Object **) &s->mch.system_memory,
> - qdev_prop_allow_set_link_before_realize, 0,
> NULL);
> + qdev_prop_allow_set_link_before_realize, 0,
> + &error_abort);
>
> object_property_add_link(obj, MCH_HOST_PROP_IO_MEM, TYPE_MEMORY_REGION,
> (Object **) &s->mch.address_space_io,
> - qdev_prop_allow_set_link_before_realize, 0,
> NULL);
> + qdev_prop_allow_set_link_before_realize, 0,
> + &error_abort);
> }
>
> static const TypeInfo q35_host_info = {
> diff --git a/hw/pci-host/sabre.c b/hw/pci-host/sabre.c
> index 2b8503b709..b02c56def5 100644
> --- a/hw/pci-host/sabre.c
> +++ b/hw/pci-host/sabre.c
> @@ -25,6 +25,7 @@
> */
>
> #include "qemu/osdep.h"
> +#include "qapi/error.h"
> #include "hw/sysbus.h"
> #include "hw/pci/pci.h"
> #include "hw/pci/pci_host.h"
> @@ -442,7 +443,7 @@ static void sabre_init(Object *obj)
> object_property_add_link(obj, "iommu", TYPE_SUN4U_IOMMU,
> (Object **) &s->iommu,
> qdev_prop_allow_set_link_before_realize,
> - 0, NULL);
> + 0, &error_abort);
>
> /* sabre_config */
> memory_region_init_io(&s->sabre_config, OBJECT(s), &sabre_config_ops, s,
> diff --git a/hw/pci-host/uninorth.c b/hw/pci-host/uninorth.c
> index cf70b76fe2..14e619d1d3 100644
> --- a/hw/pci-host/uninorth.c
> +++ b/hw/pci-host/uninorth.c
> @@ -23,6 +23,7 @@
> */
>
> #include "qemu/osdep.h"
> +#include "qapi/error.h"
> #include "hw/irq.h"
> #include "hw/ppc/mac.h"
> #include "hw/qdev-properties.h"
> @@ -175,7 +176,7 @@ static void pci_unin_main_init(Object *obj)
> object_property_add_link(obj, "pic", TYPE_OPENPIC,
> (Object **) &s->pic,
> qdev_prop_allow_set_link_before_realize,
> - 0, NULL);
> + 0, &error_abort);
>
> sysbus_init_mmio(sbd, &h->conf_mem);
> sysbus_init_mmio(sbd, &h->data_mem);
> @@ -223,7 +224,7 @@ static void pci_u3_agp_init(Object *obj)
> object_property_add_link(obj, "pic", TYPE_OPENPIC,
> (Object **) &s->pic,
> qdev_prop_allow_set_link_before_realize,
> - 0, NULL);
> + 0, &error_abort);
>
> sysbus_init_mmio(sbd, &h->conf_mem);
> sysbus_init_mmio(sbd, &h->data_mem);
> @@ -262,7 +263,7 @@ static void pci_unin_agp_init(Object *obj)
> object_property_add_link(obj, "pic", TYPE_OPENPIC,
> (Object **) &s->pic,
> qdev_prop_allow_set_link_before_realize,
> - 0, NULL);
> + 0, &error_abort);
>
> sysbus_init_mmio(sbd, &h->conf_mem);
> sysbus_init_mmio(sbd, &h->data_mem);
> @@ -299,7 +300,7 @@ static void pci_unin_internal_init(Object *obj)
> object_property_add_link(obj, "pic", TYPE_OPENPIC,
> (Object **) &s->pic,
> qdev_prop_allow_set_link_before_realize,
> - 0, NULL);
> + 0, &error_abort);
>
> sysbus_init_mmio(sbd, &h->conf_mem);
> sysbus_init_mmio(sbd, &h->data_mem);
> diff --git a/hw/pcmcia/pxa2xx.c b/hw/pcmcia/pxa2xx.c
> index 14e4dfe8b1..c0d2bf4c9a 100644
> --- a/hw/pcmcia/pxa2xx.c
> +++ b/hw/pcmcia/pxa2xx.c
> @@ -11,6 +11,7 @@
> */
>
> #include "qemu/osdep.h"
> +#include "qapi/error.h"
> #include "hw/irq.h"
> #include "hw/sysbus.h"
> #include "qemu/module.h"
> @@ -189,7 +190,7 @@ static void pxa2xx_pcmcia_initfn(Object *obj)
> object_property_add_link(obj, "card", TYPE_PCMCIA_CARD,
> (Object **)&s->card,
> NULL, /* read-only property */
> - 0, NULL);
> + 0, &error_abort);
> }
>
> /* Insert a new card into a slot */
> diff --git a/hw/ppc/spapr_drc.c b/hw/ppc/spapr_drc.c
> index 47e6bb12f9..5537468e20 100644
> --- a/hw/ppc/spapr_drc.c
> +++ b/hw/ppc/spapr_drc.c
> @@ -584,11 +584,11 @@ static void spapr_dr_connector_instance_init(Object
> *obj)
> SpaprDrcClass *drck = SPAPR_DR_CONNECTOR_GET_CLASS(drc);
>
> object_property_add_uint32_ptr(obj, "id", &drc->id, OBJ_PROP_FLAG_READ,
> - NULL);
> + &error_abort);
> object_property_add(obj, "index", "uint32", prop_get_index,
> - NULL, NULL, NULL, NULL);
> + NULL, NULL, NULL, &error_abort);
> object_property_add(obj, "fdt", "struct", prop_get_fdt,
> - NULL, NULL, NULL, NULL);
> + NULL, NULL, NULL, &error_abort);
> drc->state = drck->empty_state;
> }
>
> diff --git a/hw/ppc/spapr_rng.c b/hw/ppc/spapr_rng.c
> index e8e8d65ec0..e82b0db598 100644
> --- a/hw/ppc/spapr_rng.c
> +++ b/hw/ppc/spapr_rng.c
> @@ -104,7 +104,7 @@ static void spapr_rng_instance_init(Object *obj)
>
> object_property_set_description(obj, "rng",
> "ID of the random number generator
> backend",
> - NULL);
> + &error_abort);
> }
>
> static void spapr_rng_realize(DeviceState *dev, Error **errp)
> diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c
> index b6c27bc970..6fda0db71e 100644
> --- a/hw/riscv/sifive_u.c
> +++ b/hw/riscv/sifive_u.c
> @@ -487,11 +487,11 @@ static void riscv_sifive_u_machine_instance_init(Object
> *obj)
>
> s->start_in_flash = false;
> object_property_add_bool(obj, "start-in-flash",
> sifive_u_get_start_in_flash,
> - sifive_u_set_start_in_flash, NULL);
> + sifive_u_set_start_in_flash, &error_abort);
> object_property_set_description(obj, "start-in-flash",
> "Set on to tell QEMU's ROM to jump to "
> "flash. Otherwise QEMU will jump to
> DRAM",
> - NULL);
> + &error_abort);
> }
>
> static void riscv_sifive_u_soc_realize(DeviceState *dev, Error **errp)
> diff --git a/hw/s390x/event-facility.c b/hw/s390x/event-facility.c
> index 9d6972afa8..a1c555fb84 100644
> --- a/hw/s390x/event-facility.c
> +++ b/hw/s390x/event-facility.c
> @@ -449,18 +449,18 @@ static void init_event_facility(Object *obj)
> event_facility->allow_all_mask_sizes = true;
> object_property_add_bool(obj, "allow_all_mask_sizes",
> sclp_event_get_allow_all_mask_sizes,
> - sclp_event_set_allow_all_mask_sizes, NULL);
> + sclp_event_set_allow_all_mask_sizes,
> &error_abort);
> /* Spawn a new bus for SCLP events */
> qbus_create_inplace(&event_facility->sbus, sizeof(event_facility->sbus),
> TYPE_SCLP_EVENTS_BUS, sdev, NULL);
>
> new = object_new(TYPE_SCLP_QUIESCE);
> - object_property_add_child(obj, TYPE_SCLP_QUIESCE, new, NULL);
> + object_property_add_child(obj, TYPE_SCLP_QUIESCE, new, &error_abort);
> object_unref(new);
> qdev_set_parent_bus(DEVICE(new), BUS(&event_facility->sbus));
>
> new = object_new(TYPE_SCLP_CPU_HOTPLUG);
> - object_property_add_child(obj, TYPE_SCLP_CPU_HOTPLUG, new, NULL);
> + object_property_add_child(obj, TYPE_SCLP_CPU_HOTPLUG, new, &error_abort);
> object_unref(new);
> qdev_set_parent_bus(DEVICE(new), BUS(&event_facility->sbus));
> /* the facility will automatically realize the devices via the bus */
> diff --git a/hw/s390x/s390-ccw.c b/hw/s390x/s390-ccw.c
> index 0c5a5b60bd..f67306de13 100644
> --- a/hw/s390x/s390-ccw.c
> +++ b/hw/s390x/s390-ccw.c
> @@ -151,7 +151,7 @@ static void s390_ccw_instance_init(Object *obj)
> S390CCWDevice *dev = S390_CCW_DEVICE(obj);
>
> device_add_bootindex_property(obj, &dev->bootindex, "bootindex",
> - "/disk@0,0", DEVICE(obj), NULL);
> + "/disk@0,0", DEVICE(obj), &error_abort);
> }
>
> static void s390_ccw_class_init(ObjectClass *klass, void *data)
> diff --git a/hw/s390x/s390-skeys.c b/hw/s390x/s390-skeys.c
> index a9a4ae7b39..8dbb0eb48a 100644
> --- a/hw/s390x/s390-skeys.c
> +++ b/hw/s390x/s390-skeys.c
> @@ -400,8 +400,8 @@ static void s390_skeys_instance_init(Object *obj)
> {
> object_property_add_bool(obj, "migration-enabled",
> s390_skeys_get_migration_enabled,
> - s390_skeys_set_migration_enabled, NULL);
> - object_property_set_bool(obj, true, "migration-enabled", NULL);
> + s390_skeys_set_migration_enabled, &error_abort);
> + object_property_set_bool(obj, true, "migration-enabled", &error_abort);
> }
>
> static void s390_skeys_class_init(ObjectClass *oc, void *data)
> diff --git a/hw/s390x/s390-stattrib.c b/hw/s390x/s390-stattrib.c
> index 58121b9f68..f73139c939 100644
> --- a/hw/s390x/s390-stattrib.c
> +++ b/hw/s390x/s390-stattrib.c
> @@ -387,8 +387,8 @@ static void s390_stattrib_instance_init(Object *obj)
>
> object_property_add_bool(obj, "migration-enabled",
> s390_stattrib_get_migration_enabled,
> - s390_stattrib_set_migration_enabled, NULL);
> - object_property_set_bool(obj, true, "migration-enabled", NULL);
> + s390_stattrib_set_migration_enabled,
> &error_abort);
> + object_property_set_bool(obj, true, "migration-enabled", &error_abort);
> sas->migration_cur_gfn = 0;
> }
>
> diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c
> index f0c35aa57a..dbfa4c8514 100644
> --- a/hw/s390x/sclp.c
> +++ b/hw/s390x/sclp.c
> @@ -349,7 +349,7 @@ static void sclp_init(Object *obj)
> Object *new;
>
> new = object_new(TYPE_SCLP_EVENT_FACILITY);
> - object_property_add_child(obj, TYPE_SCLP_EVENT_FACILITY, new, NULL);
> + object_property_add_child(obj, TYPE_SCLP_EVENT_FACILITY, new,
> &error_abort);
> object_unref(new);
> sclp->event_facility = EVENT_FACILITY(new);
>
> diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
> index 1c980cab38..339635d99e 100644
> --- a/hw/scsi/scsi-bus.c
> +++ b/hw/scsi/scsi-bus.c
> @@ -1738,7 +1738,7 @@ static void scsi_dev_instance_init(Object *obj)
>
> device_add_bootindex_property(obj, &s->conf.bootindex,
> "bootindex", NULL,
> - &s->qdev, NULL);
> + &s->qdev, &error_abort);
> }
>
> static const TypeInfo scsi_device_type_info = {
> diff --git a/hw/ssi/xilinx_spips.c b/hw/ssi/xilinx_spips.c
> index c57850a505..15f9c0c188 100644
> --- a/hw/ssi/xilinx_spips.c
> +++ b/hw/ssi/xilinx_spips.c
> @@ -1361,7 +1361,7 @@ static void xlnx_zynqmp_qspips_init(Object *obj)
> (Object **)&rq->dma,
> object_property_allow_set_link,
> OBJ_PROP_LINK_STRONG,
> - NULL);
> + &error_abort);
> }
>
> static int xilinx_spips_post_load(void *opaque, int version_id)
> diff --git a/hw/usb/bus.c b/hw/usb/bus.c
> index c9a390063f..c076d2d436 100644
> --- a/hw/usb/bus.c
> +++ b/hw/usb/bus.c
> @@ -754,11 +754,11 @@ static void usb_device_instance_init(Object *obj)
> if (klass->attached_settable) {
> object_property_add_bool(obj, "attached",
> usb_get_attached, usb_set_attached,
> - NULL);
> + &error_abort);
> } else {
> object_property_add_bool(obj, "attached",
> usb_get_attached, NULL,
> - NULL);
> + &error_abort);
> }
> }
>
> diff --git a/hw/usb/dev-network.c b/hw/usb/dev-network.c
> index 6210427544..d56b9c4ad0 100644
> --- a/hw/usb/dev-network.c
> +++ b/hw/usb/dev-network.c
> @@ -1381,7 +1381,7 @@ static void usb_net_instance_init(Object *obj)
>
> device_add_bootindex_property(obj, &s->conf.bootindex,
> "bootindex", "/ethernet-phy@0",
> - &dev->qdev, NULL);
> + &dev->qdev, &error_abort);
> }
>
> static const VMStateDescription vmstate_usb_net = {
> diff --git a/hw/usb/dev-storage.c b/hw/usb/dev-storage.c
> index 5c4b57b06b..6e8d1fbd60 100644
> --- a/hw/usb/dev-storage.c
> +++ b/hw/usb/dev-storage.c
> @@ -753,8 +753,8 @@ static void usb_msd_instance_init(Object *obj)
> {
> object_property_add(obj, "bootindex", "int32",
> usb_msd_get_bootindex,
> - usb_msd_set_bootindex, NULL, NULL, NULL);
> - object_property_set_int(obj, -1, "bootindex", NULL);
> + usb_msd_set_bootindex, NULL, NULL, &error_abort);
> + object_property_set_int(obj, -1, "bootindex", &error_abort);
> }
>
> static void usb_msd_class_bot_initfn(ObjectClass *klass, void *data)
> diff --git a/hw/usb/host-libusb.c b/hw/usb/host-libusb.c
> index 2ac7a936fb..a25b590dde 100644
> --- a/hw/usb/host-libusb.c
> +++ b/hw/usb/host-libusb.c
> @@ -1101,7 +1101,7 @@ static void usb_host_instance_init(Object *obj)
>
> device_add_bootindex_property(obj, &s->bootindex,
> "bootindex", NULL,
> - &udev->qdev, NULL);
> + &udev->qdev, &error_abort);
> }
>
> static void usb_host_unrealize(USBDevice *udev, Error **errp)
> diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
> index 45d8b76218..f1fe21e1a4 100644
> --- a/hw/usb/redirect.c
> +++ b/hw/usb/redirect.c
> @@ -2595,7 +2595,7 @@ static void usbredir_instance_init(Object *obj)
>
> device_add_bootindex_property(obj, &dev->bootindex,
> "bootindex", NULL,
> - &udev->qdev, NULL);
> + &udev->qdev, &error_abort);
> }
>
> static const TypeInfo usbredir_dev_info = {
> diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c
> index a4729f7fc9..d528cf5de7 100644
> --- a/hw/virtio/virtio-balloon.c
> +++ b/hw/virtio/virtio-balloon.c
> @@ -893,12 +893,12 @@ static void virtio_balloon_instance_init(Object *obj)
> VirtIOBalloon *s = VIRTIO_BALLOON(obj);
>
> object_property_add(obj, "guest-stats", "guest statistics",
> - balloon_stats_get_all, NULL, NULL, s, NULL);
> + balloon_stats_get_all, NULL, NULL, s, &error_abort);
>
> object_property_add(obj, "guest-stats-polling-interval", "int",
> balloon_stats_get_poll_interval,
> balloon_stats_set_poll_interval,
> - NULL, s, NULL);
> + NULL, s, &error_abort);
> }
>
> static const VMStateDescription vmstate_virtio_balloon = {
> diff --git a/net/dump.c b/net/dump.c
> index 23b3628dde..ea738ff7c3 100644
> --- a/net/dump.c
> +++ b/net/dump.c
> @@ -232,9 +232,9 @@ static void filter_dump_instance_init(Object *obj)
> nfds->maxlen = 65536;
>
> object_property_add(obj, "maxlen", "uint32", filter_dump_get_maxlen,
> - filter_dump_set_maxlen, NULL, NULL, NULL);
> + filter_dump_set_maxlen, NULL, NULL, &error_abort);
> object_property_add_str(obj, "file", file_dump_get_filename,
> - file_dump_set_filename, NULL);
> + file_dump_set_filename, &error_abort);
> }
>
> static void filter_dump_instance_finalize(Object *obj)
> diff --git a/net/filter-buffer.c b/net/filter-buffer.c
> index 12e0254287..b9fa2d5c57 100644
> --- a/net/filter-buffer.c
> +++ b/net/filter-buffer.c
> @@ -192,7 +192,7 @@ static void filter_buffer_init(Object *obj)
> {
> object_property_add(obj, "interval", "uint32",
> filter_buffer_get_interval,
> - filter_buffer_set_interval, NULL, NULL, NULL);
> + filter_buffer_set_interval, NULL, NULL,
> &error_abort);
> }
>
> static const TypeInfo filter_buffer_info = {
> diff --git a/net/filter-mirror.c b/net/filter-mirror.c
> index d83e815545..3893dd299c 100644
> --- a/net/filter-mirror.c
> +++ b/net/filter-mirror.c
> @@ -392,12 +392,12 @@ static void filter_mirror_init(Object *obj)
> MirrorState *s = FILTER_MIRROR(obj);
>
> object_property_add_str(obj, "outdev", filter_mirror_get_outdev,
> - filter_mirror_set_outdev, NULL);
> + filter_mirror_set_outdev, &error_abort);
>
> s->vnet_hdr = false;
> object_property_add_bool(obj, "vnet_hdr_support",
> filter_mirror_get_vnet_hdr,
> - filter_mirror_set_vnet_hdr, NULL);
> + filter_mirror_set_vnet_hdr, &error_abort);
> }
>
> static void filter_redirector_init(Object *obj)
> @@ -405,14 +405,14 @@ static void filter_redirector_init(Object *obj)
> MirrorState *s = FILTER_REDIRECTOR(obj);
>
> object_property_add_str(obj, "indev", filter_redirector_get_indev,
> - filter_redirector_set_indev, NULL);
> + filter_redirector_set_indev, &error_abort);
> object_property_add_str(obj, "outdev", filter_redirector_get_outdev,
> - filter_redirector_set_outdev, NULL);
> + filter_redirector_set_outdev, &error_abort);
>
> s->vnet_hdr = false;
> object_property_add_bool(obj, "vnet_hdr_support",
> filter_redirector_get_vnet_hdr,
> - filter_redirector_set_vnet_hdr, NULL);
> + filter_redirector_set_vnet_hdr, &error_abort);
> }
>
> static void filter_mirror_fini(Object *obj)
> diff --git a/net/filter-rewriter.c b/net/filter-rewriter.c
> index 31da08a2f4..7d713c7193 100644
> --- a/net/filter-rewriter.c
> +++ b/net/filter-rewriter.c
> @@ -10,6 +10,7 @@
> */
>
> #include "qemu/osdep.h"
> +#include "qapi/error.h"
> #include "trace.h"
> #include "colo.h"
> #include "net/filter.h"
> @@ -413,7 +414,7 @@ static void filter_rewriter_init(Object *obj)
> s->failover_mode = FAILOVER_MODE_OFF;
> object_property_add_bool(obj, "vnet_hdr_support",
> filter_rewriter_get_vnet_hdr,
> - filter_rewriter_set_vnet_hdr, NULL);
> + filter_rewriter_set_vnet_hdr, &error_abort);
> }
>
> static void colo_rewriter_class_init(ObjectClass *oc, void *data)
> diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c
> index 62d36f9e8d..6a0a668e17 100644
> --- a/target/arm/cpu64.c
> +++ b/target/arm/cpu64.c
> @@ -782,11 +782,11 @@ static void aarch64_cpu_set_aarch64(Object *obj, bool
> value, Error **errp)
> static void aarch64_cpu_initfn(Object *obj)
> {
> object_property_add_bool(obj, "aarch64", aarch64_cpu_get_aarch64,
> - aarch64_cpu_set_aarch64, NULL);
> + aarch64_cpu_set_aarch64, &error_abort);
> object_property_set_description(obj, "aarch64",
> "Set on/off to enable/disable aarch64 "
> "execution state ",
> - NULL);
> + &error_abort);
> }
>
> static void aarch64_cpu_finalizefn(Object *obj)
> diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> index 9c256ab159..f5795788bb 100644
> --- a/target/i386/cpu.c
> +++ b/target/i386/cpu.c
> @@ -6905,28 +6905,32 @@ static void x86_cpu_initfn(Object *obj)
>
> object_property_add(obj, "family", "int",
> x86_cpuid_version_get_family,
> - x86_cpuid_version_set_family, NULL, NULL, NULL);
> + x86_cpuid_version_set_family, NULL, NULL,
> + &error_abort);
> object_property_add(obj, "model", "int",
> x86_cpuid_version_get_model,
> - x86_cpuid_version_set_model, NULL, NULL, NULL);
> + x86_cpuid_version_set_model, NULL, NULL,
> + &error_abort);
> object_property_add(obj, "stepping", "int",
> x86_cpuid_version_get_stepping,
> - x86_cpuid_version_set_stepping, NULL, NULL, NULL);
> + x86_cpuid_version_set_stepping, NULL, NULL,
> + &error_abort);
> object_property_add_str(obj, "vendor",
> x86_cpuid_get_vendor,
> - x86_cpuid_set_vendor, NULL);
> + x86_cpuid_set_vendor, &error_abort);
> object_property_add_str(obj, "model-id",
> x86_cpuid_get_model_id,
> - x86_cpuid_set_model_id, NULL);
> + x86_cpuid_set_model_id, &error_abort);
> object_property_add(obj, "tsc-frequency", "int",
> x86_cpuid_get_tsc_freq,
> - x86_cpuid_set_tsc_freq, NULL, NULL, NULL);
> + x86_cpuid_set_tsc_freq, NULL, NULL, &error_abort);
> object_property_add(obj, "feature-words", "X86CPUFeatureWordInfo",
> x86_cpu_get_feature_words,
> - NULL, NULL, (void *)env->features, NULL);
> + NULL, NULL, (void *)env->features, &error_abort);
> object_property_add(obj, "filtered-features", "X86CPUFeatureWordInfo",
> x86_cpu_get_feature_words,
> - NULL, NULL, (void *)cpu->filtered_features, NULL);
> + NULL, NULL, (void *)cpu->filtered_features,
> + &error_abort);
> /*
> * The "unavailable-features" property has the same semantics as
> * CpuDefinitionInfo.unavailable-features on the "query-cpu-definitions"
> @@ -6938,7 +6942,8 @@ static void x86_cpu_initfn(Object *obj)
> NULL, NULL, NULL, &error_abort);
>
> object_property_add(obj, "crash-information", "GuestPanicInformation",
> - x86_cpu_get_crash_info_qom, NULL, NULL, NULL, NULL);
> + x86_cpu_get_crash_info_qom, NULL, NULL, NULL,
> + &error_abort);
>
> for (w = 0; w < FEATURE_WORDS; w++) {
> int bitnr;
> diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c
> index 427a46e3e1..1ae550867e 100644
> --- a/target/s390x/cpu.c
> +++ b/target/s390x/cpu.c
> @@ -287,7 +287,8 @@ static void s390_cpu_initfn(Object *obj)
> cs->halted = 1;
> cs->exception_index = EXCP_HLT;
> object_property_add(obj, "crash-information", "GuestPanicInformation",
> - s390_cpu_get_crash_info_qom, NULL, NULL, NULL, NULL);
> + s390_cpu_get_crash_info_qom, NULL, NULL, NULL,
> + &error_abort);
> s390_cpu_model_register_props(obj);
> #if !defined(CONFIG_USER_ONLY)
> cpu->env.tod_timer =
> diff --git a/tests/check-qom-proplist.c b/tests/check-qom-proplist.c
> index a8b2958e6e..999eb1ce40 100644
> --- a/tests/check-qom-proplist.c
> +++ b/tests/check-qom-proplist.c
> @@ -255,13 +255,14 @@ static void dummy_dev_init(Object *obj)
> DummyBus *bus = DUMMY_BUS(object_new(TYPE_DUMMY_BUS));
> DummyBackend *backend = DUMMY_BACKEND(object_new(TYPE_DUMMY_BACKEND));
>
> - object_property_add_child(obj, "bus", OBJECT(bus), NULL);
> + object_property_add_child(obj, "bus", OBJECT(bus), &error_abort);
> dev->bus = bus;
> - object_property_add_child(OBJECT(bus), "backend", OBJECT(backend), NULL);
> + object_property_add_child(OBJECT(bus), "backend", OBJECT(backend),
> + &error_abort);
> bus->backend = backend;
>
> object_property_add_link(obj, "backend", TYPE_DUMMY_BACKEND,
> - (Object **)&bus->backend, NULL, 0, NULL);
> + (Object **)&bus->backend, NULL, 0,
> &error_abort);
> }
>
> static void dummy_dev_unparent(Object *obj)
> diff --git a/tests/test-qdev-global-props.c b/tests/test-qdev-global-props.c
> index 270c690479..09315f412c 100644
> --- a/tests/test-qdev-global-props.c
> +++ b/tests/test-qdev-global-props.c
> @@ -151,9 +151,9 @@ static void prop2_accessor(Object *obj, Visitor *v, const
> char *name,
> static void dynamic_instance_init(Object *obj)
> {
> object_property_add(obj, "prop1", "uint32", prop1_accessor,
> prop1_accessor,
> - NULL, NULL, NULL);
> + NULL, NULL, &error_abort);
> object_property_add(obj, "prop2", "uint32", prop2_accessor,
> prop2_accessor,
> - NULL, NULL, NULL);
> + NULL, NULL, &error_abort);
> }
>
> static void dynamic_class_init(ObjectClass *oc, void *data)
>