[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 06/10] mips/malta: Fix create_cps() error handling
From: |
Markus Armbruster |
Subject: |
[PULL 06/10] mips/malta: Fix create_cps() error handling |
Date: |
Wed, 27 May 2020 07:59:41 +0200 |
The Error ** argument must be NULL, &error_abort, &error_fatal, or a
pointer to a variable containing NULL. Passing an argument of the
latter kind twice without clearing it in between is wrong: if the
first call sets an error, it no longer points to NULL for the second
create_cps() is wrong that way. The last calls treats an error as
fatal. Do that for the prior ones, too.
Fixes: bff384a4fbd5d0e86939092e74e766ef0f5f592c
Cc: Aleksandar Markovic <address@hidden>
Cc: "Philippe Mathieu-Daudé" <address@hidden>
Cc: Aurelien Jarno <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Aleksandar Markovic <address@hidden>
---
hw/mips/mips_malta.c | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c
index e4c4de1b4e..17bf41616b 100644
--- a/hw/mips/mips_malta.c
+++ b/hw/mips/mips_malta.c
@@ -1185,17 +1185,14 @@ static void create_cpu_without_cps(MachineState *ms,
static void create_cps(MachineState *ms, MaltaState *s,
qemu_irq *cbus_irq, qemu_irq *i8259_irq)
{
- Error *err = NULL;
-
sysbus_init_child_obj(OBJECT(s), "cps", OBJECT(&s->cps), sizeof(s->cps),
TYPE_MIPS_CPS);
- object_property_set_str(OBJECT(&s->cps), ms->cpu_type, "cpu-type", &err);
- object_property_set_int(OBJECT(&s->cps), ms->smp.cpus, "num-vp", &err);
- object_property_set_bool(OBJECT(&s->cps), true, "realized", &err);
- if (err != NULL) {
- error_report("%s", error_get_pretty(err));
- exit(1);
- }
+ object_property_set_str(OBJECT(&s->cps), ms->cpu_type, "cpu-type",
+ &error_fatal);
+ object_property_set_int(OBJECT(&s->cps), ms->smp.cpus, "num-vp",
+ &error_fatal);
+ object_property_set_bool(OBJECT(&s->cps), true, "realized",
+ &error_fatal);
sysbus_mmio_map_overlap(SYS_BUS_DEVICE(&s->cps), 0, 0, 1);
--
2.21.3
- [PULL 00/10] Error reporting patches for 2020-05-27, Markus Armbruster, 2020/05/27
- [PULL 01/10] nvdimm: Plug memory leak in uuid property setter, Markus Armbruster, 2020/05/27
- [PULL 10/10] i386: Fix x86_cpu_load_model() error API violation, Markus Armbruster, 2020/05/27
- [PULL 03/10] s390x/cpumodel: Fix harmless misuse of visit_check_struct(), Markus Armbruster, 2020/05/27
- [PULL 05/10] error: Use error_reportf_err() where appropriate, Markus Armbruster, 2020/05/27
- [PULL 04/10] tests/migration: Tighten error checking, Markus Armbruster, 2020/05/27
- [PULL 06/10] mips/malta: Fix create_cps() error handling,
Markus Armbruster <=
- [PULL 02/10] xen: Fix and improve handling of device_add usb-host errors, Markus Armbruster, 2020/05/27
- [PULL 08/10] mips/boston: Plug memory leak in boston_mach_init(), Markus Armbruster, 2020/05/27
- [PULL 09/10] arm/sabrelite: Consistently use &error_fatal in sabrelite_init(), Markus Armbruster, 2020/05/27
- [PULL 07/10] mips/boston: Fix boston_mach_init() error handling, Markus Armbruster, 2020/05/27
- Re: [PULL 00/10] Error reporting patches for 2020-05-27, Peter Maydell, 2020/05/28