All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
To: Markus Armbruster <armbru@redhat.com>
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
	"Aleksandar Markovic" <aleksandar.qemu.devel@gmail.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	qemu-devel@nongnu.org, "Aurelien Jarno" <aurelien@aurel32.net>
Subject: Re: [PATCH 07/11] mips/malta: Fix create_cps() error handling
Date: Wed, 29 Apr 2020 09:13:10 +0200	[thread overview]
Message-ID: <d9a17752-6a8d-a59e-f661-a9e6c59b670f@amsat.org> (raw)
In-Reply-To: <871ro6x26g.fsf@dusky.pond.sub.org>

+Peter for crediting his advice.

On 4/29/20 7:59 AM, Markus Armbruster wrote:
> Philippe Mathieu-Daudé <f4bug@amsat.org> writes:
> 
>> 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 <aleksandar.qemu.devel@gmail.com>
>>> Cc: "Philippe Mathieu-Daudé" <philmd@redhat.com>
>>> Cc: Aurelien Jarno <aurelien@aurel32.net>
>>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>>> ---
>>>   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/qemu-devel@nongnu.org/msg695645.html I
>> also remove "qemu/error-report.h" which is not needed once you remove
>> this call.
> 
> Missed it, sorry.  I only reviewed the Coccinelle scripts [PATCH 1+3/7].

My bad for not Cc'ing you on the whole series, which is Error related, 
and use the default get_maintainer.pl selection.

> I'd replace my patch by yours to give you proper credit, but your commit
> message mentions "the coccinelle script", presumably the one from PATCH
> 1/7, and that patch isn't quite ready in my opinion.

I'm not worried about credit, but duplicating effort or wasting time.

Peter once warned the problem with Coccinelle scripts is finding the 
correct balance between time spent to improve QEMU codebase, and time 
spent learning Coccinelle and improving a script that is often used only 
once in a lifetime.
If the script is not provided, we ask for the script. If the script is 
embedded in various patch descriptions, we ask to add it independently 
for reuse or as example. Then the script must be almost perfect. 
Meanwhile all the following patches referencing it, while reviewed, are 
stuck.

Anyway back to your patch:
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

> 
>>> -        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);
>>>   
>>>
> 


  reply	other threads:[~2020-04-29  7:14 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-24 19:20 [PATCH 00/11] More miscellaneous error handling fixes Markus Armbruster
2020-04-24 19:20 ` [PATCH 01/11] nvdimm: Plug memory leak in uuid property setter Markus Armbruster
2020-04-24 19:20 ` [PATCH 02/11] xen: Fix and improve handling of device_add usb-host errors Markus Armbruster
2020-04-27  7:26   ` Paul Durrant
2020-04-29  5:48     ` Markus Armbruster
2020-04-24 19:20 ` [PATCH 03/11] s390x/cpumodel: Fix harmless misuse of visit_check_struct() Markus Armbruster
2020-04-27  8:02   ` David Hildenbrand
2020-04-29  5:51     ` Markus Armbruster
2020-05-04 11:09       ` Cornelia Huck
2020-05-04 15:24         ` Markus Armbruster
2020-05-04 15:29           ` Cornelia Huck
2020-04-24 19:20 ` [PATCH 04/11] s390x/pci: Fix harmless mistake in zpci's property fid's setter Markus Armbruster
2020-04-27 14:11   ` Matthew Rosato
2020-04-27 14:40     ` Markus Armbruster
2020-04-24 19:20 ` [PATCH 05/11] tests/migration: Tighten error checking Markus Armbruster
2020-04-24 19:20 ` [PATCH 06/11] error: Use error_reportf_err() where appropriate Markus Armbruster
2020-04-24 20:08   ` Eric Blake
2020-04-27  8:53     ` Markus Armbruster
2020-04-27  9:26       ` Philippe Mathieu-Daudé
2020-04-27 13:59       ` Eric Blake
2020-04-24 19:20 ` [PATCH 07/11] mips/malta: Fix create_cps() error handling Markus Armbruster
2020-04-27  9:20   ` Philippe Mathieu-Daudé
2020-04-29  5:59     ` Markus Armbruster
2020-04-29  7:13       ` Philippe Mathieu-Daudé [this message]
2020-04-29  7:27         ` Markus Armbruster
2020-04-24 19:20 ` [PATCH 08/11] mips/boston: Fix boston_mach_init() " Markus Armbruster
2020-04-29  6:33   ` Markus Armbruster
2020-04-24 19:20 ` [PATCH 09/11] mips/boston: Plug memory leak in boston_mach_init() Markus Armbruster
2020-04-24 19:20 ` [PATCH 10/11] arm/sabrelite: Consistently use &error_fatal in sabrelite_init() Markus Armbruster
2020-04-27  9:17   ` Philippe Mathieu-Daudé
2020-04-24 19:20 ` [PATCH 11/11] i386: Fix x86_cpu_load_model() error API violation Markus Armbruster

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d9a17752-6a8d-a59e-f661-a9e6c59b670f@amsat.org \
    --to=f4bug@amsat.org \
    --cc=aleksandar.qemu.devel@gmail.com \
    --cc=armbru@redhat.com \
    --cc=aurelien@aurel32.net \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.