уторак, 05. мај 2020., Markus Armbruster <armbru@redhat.com> је написао/ла:
> 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
> call.
>
> boston_mach_init() is wrong that way. The last calls treats an error
> as fatal. Do that for the prior ones, too.
>
> Fixes: df1d8a1f29f567567b9d20be685a4241282e7005
> Cc: Paul Burton <pburton@wavecomp.com>
> Cc: Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
Reviewed-by: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>
> hw/mips/boston.c | 13 +++++--------
> 1 file changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/hw/mips/boston.c b/hw/mips/boston.c
> index 98ecd25e8e..2832dfa6ae 100644
> --- a/hw/mips/boston.c
> +++ b/hw/mips/boston.c
> @@ -458,14 +458,11 @@ static void boston_mach_init(MachineState *machine)
> sysbus_init_child_obj(OBJECT(machine), "cps", OBJECT(&s->cps),
> sizeof(s->cps), TYPE_MIPS_CPS);
> object_property_set_str(OBJECT(&s->cps), machine->cpu_type,
> "cpu-type",
> - &err);
> - object_property_set_int(OBJECT(&s->cps), machine->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);
> - }
> + &error_fatal);
> + object_property_set_int(OBJECT(&s->cps), machine->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.1
>
>
>