[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 07/11] mips/malta: Fix create_cps() error handling
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH 07/11] mips/malta: Fix create_cps() error handling |
Date: |
Mon, 27 Apr 2020 11:20:53 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 |
On 4/24/20 9:20 PM, Markus Armbruster wrote:
> 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>
> ---
> 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));
In https://www.mail-archive.com/address@hidden/msg695645.html I
also remove "qemu/error-report.h" which is not needed once you remove
this call.
> - 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);
>
>
[PATCH 03/11] s390x/cpumodel: Fix harmless misuse of visit_check_struct(), Markus Armbruster, 2020/04/24
[PATCH 10/11] arm/sabrelite: Consistently use &error_fatal in sabrelite_init(), Markus Armbruster, 2020/04/24
[PATCH 01/11] nvdimm: Plug memory leak in uuid property setter, Markus Armbruster, 2020/04/24
[PATCH 08/11] mips/boston: Fix boston_mach_init() error handling, Markus Armbruster, 2020/04/24