From: Markus Armbruster <armbru@redhat.com>
To: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
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:27:29 +0200 [thread overview]
Message-ID: <87sggmrbtq.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <d9a17752-6a8d-a59e-f661-a9e6c59b670f@amsat.org> ("Philippe Mathieu-Daudé"'s message of "Wed, 29 Apr 2020 09:13:10 +0200")
Philippe Mathieu-Daudé <f4bug@amsat.org> writes:
> +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.
True. I try not to ask for undue perfection, but perfection eludes me
in that, too :)
For PATCH 1/7, I only asked you to explain the script's limitations in
the script and the commit message. Her's a bit of inspiration from the
kernel's scripts/coccinelle/misc/doubleinit.cocci (picked almost at
random):
/// Find duplicate field initializations. This has a high rate of false
/// positives due to #ifdefs, which Coccinelle is not aware of in a structure
/// initialization.
///
// Confidence: Low
I like the Confidence: tag. It should come with an explanation, as it
does here.
For PATCH 3/7, I had a question.
> Anyway back to your patch:
> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Thanks!
next prev parent reply other threads:[~2020-04-29 7:51 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é
2020-04-29 7:27 ` Markus Armbruster [this message]
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=87sggmrbtq.fsf@dusky.pond.sub.org \
--to=armbru@redhat.com \
--cc=aleksandar.qemu.devel@gmail.com \
--cc=aurelien@aurel32.net \
--cc=f4bug@amsat.org \
--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.