From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4E5C2C433F5 for ; Tue, 15 Mar 2022 16:17:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1349961AbiCOQSp (ORCPT ); Tue, 15 Mar 2022 12:18:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42358 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1349924AbiCOQSp (ORCPT ); Tue, 15 Mar 2022 12:18:45 -0400 Received: from mail-ej1-x631.google.com (mail-ej1-x631.google.com [IPv6:2a00:1450:4864:20::631]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 90AC84F9E9 for ; Tue, 15 Mar 2022 09:17:32 -0700 (PDT) Received: by mail-ej1-x631.google.com with SMTP id qt6so42531025ejb.11 for ; Tue, 15 Mar 2022 09:17:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=references:user-agent:from:to:cc:subject:date:in-reply-to :message-id:mime-version:content-transfer-encoding; bh=wXepQw3GedEOnaEjjgwFEek2uNakl81Uh1kkTxXNANY=; b=F3aar3/x2xxvS9vcYKe1Mvtt1EqSsoBASuRUnpfeFf/9QOsQ9EirTU+5UXDPWgmmQ8 5aWvQ4a3Y7i7pCgV7ZVmsL5EF/adYmtKzIJ1VD+N7zzHTEfgamSkXC88A13R9+XsM+6j XdcergIRGV2qgbcn3PqCtfRAhEgxMt67cMDmLaMAwSD7Fl7pSesd8mjtrJziHfqos0pY s47rwsq519gPX+/mzmV77GPfGgrLuVYkpyNn/zQcK7+OdEoRjVMtv8d0wWIbjC2XY1VD DNGxi9oX8hgtbjXgoEM6RD5NdFDbYHGbi4Eqpu8VsTHOFLEwbPSYq0l80owiW4tZ/TN7 HE1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:references:user-agent:from:to:cc:subject:date :in-reply-to:message-id:mime-version:content-transfer-encoding; bh=wXepQw3GedEOnaEjjgwFEek2uNakl81Uh1kkTxXNANY=; b=HnUEbqAs95NKVA8icib4Mp7sHjqozni5+7sJuoI2FUSzkV1hMdtJlyvcp9qWLn3tbs JSeECI43THK5jWOF1Fih41jerkOA7BKgUTmdEWcAf+3ESEhMhLJ7ngG5XPCt8+JywsZZ XGeoXKnXqeFTotSWOOnCwZxnEAmtpuXfVvUfMkdx0nx5Hexaw26S8y2ZstxnnM4SDUBm KfLOfdB9oPSAPiEf+otYhQgA1CakTWVheLb5XL4+Qz33c8tbjhsIZzpEk70fvpy7Jowb jlPDwZjdnv+KBmIQrEC3lBZAKXPyfPF+5HBDlUJgaZMYVCYR415uaEwmGwOEJpdo7nGE wvAA== X-Gm-Message-State: AOAM531aTdjdAubot2EH24HgJLaJBF05IYXX1wz8BrIgE8erjARXv1ry DbJC4xx0r/rya4PWME7tH5r3tw== X-Google-Smtp-Source: ABdhPJx8wNGlKACsOTW+g2bqHUEx9hHs1OiL1cr3v7mAG4X9tUqgSZgL9WlZjNaUFQQ91p0cXadmcA== X-Received: by 2002:a17:906:3e90:b0:6b6:829b:577c with SMTP id a16-20020a1709063e9000b006b6829b577cmr24075901ejj.711.1647361051074; Tue, 15 Mar 2022 09:17:31 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id b2-20020a17090630c200b006d58f94acecsm8336788ejb.210.2022.03.15.09.17.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Mar 2022 09:17:29 -0700 (PDT) Received: from zen (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id DA6F31FFB7; Tue, 15 Mar 2022 16:17:28 +0000 (GMT) References: <20220314160108.1440470-1-armbru@redhat.com> <20220314160108.1440470-4-armbru@redhat.com> <87y21c401e.fsf@linaro.org> <875yofl3k3.fsf@pond.sub.org> <02307072-4bff-dbbb-67fb-ca9800c34b3c@gmail.com> <875yofjmxu.fsf@pond.sub.org> User-agent: mu4e 1.7.10; emacs 28.0.92 From: Alex =?utf-8?Q?Benn=C3=A9e?= To: Markus Armbruster Cc: Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Paolo Bonzini , Richard Henderson , Gerd Hoffmann , Christian Schoenebeck , "Gonglei (Arei)" , =?utf-8?Q?Marc-Andr=C3=A9?= Lureau , "Michael S. Tsirkin" , Igor Mammedov , Ani Sinha , Laurent Vivier , Amit Shah , Peter Maydell , Stefano Stabellini , Anthony Perard , Paul Durrant , =?utf-8?Q?Herv=C3=A9?= Poussineau , Aleksandar Rikalo , Corey Minyard , Patrick Venture , Eduardo Habkost , Marcel Apfelbaum , Peter Xu , Jason Wang , =?utf-8?Q?C=C3=A9dric?= Le Goater , Daniel Henrique Barboza , David Gibson , Greg Kurz , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Jean-Christophe Dubois , Keith Busch , Klaus Jensen , Yuval Shaia , Yoshinori Sato , Magnus Damm , Fabien Chouteau , KONRAD Frederic , Mark Cave-Ayland , Artyom Tarasenko , Alex Williamson , Eric Auger , Max Filippov , Juan Quintela , "Dr. David Alan Gilbert" , Konstantin Kostiuk , Michael Roth , =?utf-8?Q?Daniel_P=2E_Berrang=C3=A9?= , Pavel Dovgalyuk , David Hildenbrand , Wenchao Wang , Colin Xu , Kamil Rytarowski , Reinoud Zandijk , Sunil Muthuswamy , Cornelia Huck , Thomas Huth , Eric Blake , Vladimir Sementsov-Ogievskiy , John Snow , kvm@vger.kernel.org, qemu-arm@nongnu.org, xen-devel@lists.xenproject.org, qemu-ppc@nongnu.org, qemu-block@nongnu.org, haxm-team@intel.com, qemu-s390x@nongnu.org Subject: Re: [PATCH 3/3] Use g_new() & friends where that makes obvious sense Date: Tue, 15 Mar 2022 16:16:54 +0000 In-reply-to: <875yofjmxu.fsf@pond.sub.org> Message-ID: <875yof42cn.fsf@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org Markus Armbruster writes: > Philippe Mathieu-Daud=C3=A9 writes: > >> On 15/3/22 14:59, Markus Armbruster wrote: >>> Alex Benn=C3=A9e writes: >>>=20 >>>> Markus Armbruster writes: >>>> >>>>> g_new(T, n) is neater than g_malloc(sizeof(T) * n). It's also safer, >>>>> for two reasons. One, it catches multiplication overflowing size_t. >>>>> Two, it returns T * rather than void *, which lets the compiler catch >>>>> more type errors. >>>>> >>>> >>>>> diff --git a/semihosting/config.c b/semihosting/config.c >>>>> index 137171b717..6d48ec9566 100644 >>>>> --- a/semihosting/config.c >>>>> +++ b/semihosting/config.c >>>>> @@ -98,7 +98,7 @@ static int add_semihosting_arg(void *opaque, >>>>> if (strcmp(name, "arg") =3D=3D 0) { >>>>> s->argc++; >>>>> /* one extra element as g_strjoinv() expects NULL-terminate= d array */ >>>>> - s->argv =3D g_realloc(s->argv, (s->argc + 1) * sizeof(void *= )); >>>>> + s->argv =3D g_renew(void *, s->argv, s->argc + 1); >>>> >>>> This did indeed break CI because s->argv is an array of *char: >>>> >>>> ../semihosting/config.c:101:17: error: assignment to =E2=80=98const ch= ar **=E2=80=99 from incompatible pointer type =E2=80=98void **=E2=80=99 [-W= error=3Dincompatible-pointer-types] >>>> 101 | s->argv =3D g_renew(void *, s->argv, s->argc + 1); >>>> | ^ >>>> cc1: all warnings being treated as errors >>>> >>>> So it did the job of type checking but failed to build ;-) >>> >>> You found a hole in my compile testing, thanks! >>> >>> I got confused about the configuration of my build trees. Catching such >>> mistakes is what CI is for :) >> >> FYI Alex fixed this here: >> https://lore.kernel.org/qemu-devel/20220315121251.2280317-8-alex.bennee@= linaro.org/ >> >> So your series could go on top (modulo the Coverity change). > > I dropped this hunk in v2. > > Whether my v2 or Alex's series goes in first doesn't matter. That's great. Thanks for finding the ugliness in the first place ;-) --=20 Alex Benn=C3=A9e From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6F0CEC433EF for ; Tue, 15 Mar 2022 16:21:02 +0000 (UTC) Received: from localhost ([::1]:46976 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nU9uv-0005TK-CV for qemu-devel@archiver.kernel.org; Tue, 15 Mar 2022 12:21:01 -0400 Received: from eggs.gnu.org ([209.51.188.92]:50918) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nU9ra-0003cp-OO for qemu-devel@nongnu.org; Tue, 15 Mar 2022 12:17:37 -0400 Received: from [2a00:1450:4864:20::536] (port=45990 helo=mail-ed1-x536.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nU9rY-0008QL-Tz for qemu-devel@nongnu.org; Tue, 15 Mar 2022 12:17:34 -0400 Received: by mail-ed1-x536.google.com with SMTP id m12so24821359edc.12 for ; Tue, 15 Mar 2022 09:17:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=references:user-agent:from:to:cc:subject:date:in-reply-to :message-id:mime-version:content-transfer-encoding; bh=wXepQw3GedEOnaEjjgwFEek2uNakl81Uh1kkTxXNANY=; b=F3aar3/x2xxvS9vcYKe1Mvtt1EqSsoBASuRUnpfeFf/9QOsQ9EirTU+5UXDPWgmmQ8 5aWvQ4a3Y7i7pCgV7ZVmsL5EF/adYmtKzIJ1VD+N7zzHTEfgamSkXC88A13R9+XsM+6j XdcergIRGV2qgbcn3PqCtfRAhEgxMt67cMDmLaMAwSD7Fl7pSesd8mjtrJziHfqos0pY s47rwsq519gPX+/mzmV77GPfGgrLuVYkpyNn/zQcK7+OdEoRjVMtv8d0wWIbjC2XY1VD DNGxi9oX8hgtbjXgoEM6RD5NdFDbYHGbi4Eqpu8VsTHOFLEwbPSYq0l80owiW4tZ/TN7 HE1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:references:user-agent:from:to:cc:subject:date :in-reply-to:message-id:mime-version:content-transfer-encoding; bh=wXepQw3GedEOnaEjjgwFEek2uNakl81Uh1kkTxXNANY=; b=dj+3BPgDjaTtbp7rlJNmYDSlao2SsydscK27NysVwISP5JRHl/eeCAIA9ia0C20Si8 VysgQFsJVGYZhL1YFj9m18SWFx/glEo6OYc70zbAh2yiK93i6Bs/fKQkZu/6tlJOWV8E nB0+CnPK5OveSReILbE4IZ+FTtIQRwPkxiXxHXF/lHeUhG4DHjqYmZ/kwWZarRK3if/P 6xY1CjBnfXE0Iebp9ymIeRrmW4EwmUi7gMpOXn7VnrMYAG24FlYYqaV7tOMqKwakGmLM Jt1hSVnEOm+L/GWt2M8JD0cAO2Yx5BFXAov0yY+tKS193QSXPo0I9u7mCKxO2Ba8fR4J kajQ== X-Gm-Message-State: AOAM5314JlHcGZwSRNixRIJuJZRqlsKoMI/EyMST6JizFFAi69bj6FDe 4S2NBm3vBKDrjgC2wYOUAm41Fg== X-Google-Smtp-Source: ABdhPJzU1QhvRlda48ErEhrpsRbj6BfjaKE2lwF+Chi9fW6LBiwHjRi2bbN5qpfgAEHV/EV9wPxPow== X-Received: by 2002:a05:6402:14b:b0:418:d06e:5d38 with SMTP id s11-20020a056402014b00b00418d06e5d38mr2452698edu.90.1647361051297; Tue, 15 Mar 2022 09:17:31 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id b2-20020a17090630c200b006d58f94acecsm8336787ejb.210.2022.03.15.09.17.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 15 Mar 2022 09:17:29 -0700 (PDT) Received: from zen (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id DA6F31FFB7; Tue, 15 Mar 2022 16:17:28 +0000 (GMT) References: <20220314160108.1440470-1-armbru@redhat.com> <20220314160108.1440470-4-armbru@redhat.com> <87y21c401e.fsf@linaro.org> <875yofl3k3.fsf@pond.sub.org> <02307072-4bff-dbbb-67fb-ca9800c34b3c@gmail.com> <875yofjmxu.fsf@pond.sub.org> User-agent: mu4e 1.7.10; emacs 28.0.92 From: Alex =?utf-8?Q?Benn=C3=A9e?= To: Markus Armbruster Subject: Re: [PATCH 3/3] Use g_new() & friends where that makes obvious sense Date: Tue, 15 Mar 2022 16:16:54 +0000 In-reply-to: <875yofjmxu.fsf@pond.sub.org> Message-ID: <875yof42cn.fsf@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::536 (failed) Received-SPF: pass client-ip=2a00:1450:4864:20::536; envelope-from=alex.bennee@linaro.org; helo=mail-ed1-x536.google.com X-Spam_score_int: -6 X-Spam_score: -0.7 X-Spam_bar: / X-Spam_report: (-0.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Daniel Henrique Barboza , kvm@vger.kernel.org, "Michael S. Tsirkin" , Jason Wang , Christian Schoenebeck , qemu-devel@nongnu.org, Peter Xu , Klaus Jensen , KONRAD Frederic , Konstantin Kostiuk , Gerd Hoffmann , Ani Sinha , Reinoud Zandijk , Eric Blake , Sunil Muthuswamy , Stefano Stabellini , xen-devel@lists.xenproject.org, Yoshinori Sato , Juan Quintela , Paul Durrant , Magnus Damm , Kamil Rytarowski , "Gonglei \(Arei\)" , =?utf-8?Q?Herv=C3=A9?= Poussineau , Michael Roth , Anthony Perard , =?utf-8?Q?Marc-Andr=C3=A9?= Lureau , Artyom Tarasenko , Laurent Vivier , Aleksandar Rikalo , Amit Shah , Mark Cave-Ayland , haxm-team@intel.com, Richard Henderson , Greg Kurz , Fabien Chouteau , Yuval Shaia , Thomas Huth , Eric Auger , Alex Williamson , Vladimir Sementsov-Ogievskiy , =?utf-8?Q?C=C3=A9dric?= Le Goater , Pavel Dovgalyuk , Paolo Bonzini , Keith Busch , qemu-ppc@nongnu.org, David Hildenbrand , John Snow , David Gibson , Eduardo Habkost , Corey Minyard , =?utf-8?Q?Daniel_P=2E_Berrang=C3=A9?= , qemu-block@nongnu.org, Max Filippov , qemu-s390x@nongnu.org, Patrick Venture , Cornelia Huck , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Jean-Christophe Dubois , qemu-arm@nongnu.org, Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Wenchao Wang , Igor Mammedov , "Dr. David Alan Gilbert" , Colin Xu Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" Markus Armbruster writes: > Philippe Mathieu-Daud=C3=A9 writes: > >> On 15/3/22 14:59, Markus Armbruster wrote: >>> Alex Benn=C3=A9e writes: >>>=20 >>>> Markus Armbruster writes: >>>> >>>>> g_new(T, n) is neater than g_malloc(sizeof(T) * n). It's also safer, >>>>> for two reasons. One, it catches multiplication overflowing size_t. >>>>> Two, it returns T * rather than void *, which lets the compiler catch >>>>> more type errors. >>>>> >>>> >>>>> diff --git a/semihosting/config.c b/semihosting/config.c >>>>> index 137171b717..6d48ec9566 100644 >>>>> --- a/semihosting/config.c >>>>> +++ b/semihosting/config.c >>>>> @@ -98,7 +98,7 @@ static int add_semihosting_arg(void *opaque, >>>>> if (strcmp(name, "arg") =3D=3D 0) { >>>>> s->argc++; >>>>> /* one extra element as g_strjoinv() expects NULL-terminate= d array */ >>>>> - s->argv =3D g_realloc(s->argv, (s->argc + 1) * sizeof(void *= )); >>>>> + s->argv =3D g_renew(void *, s->argv, s->argc + 1); >>>> >>>> This did indeed break CI because s->argv is an array of *char: >>>> >>>> ../semihosting/config.c:101:17: error: assignment to =E2=80=98const ch= ar **=E2=80=99 from incompatible pointer type =E2=80=98void **=E2=80=99 [-W= error=3Dincompatible-pointer-types] >>>> 101 | s->argv =3D g_renew(void *, s->argv, s->argc + 1); >>>> | ^ >>>> cc1: all warnings being treated as errors >>>> >>>> So it did the job of type checking but failed to build ;-) >>> >>> You found a hole in my compile testing, thanks! >>> >>> I got confused about the configuration of my build trees. Catching such >>> mistakes is what CI is for :) >> >> FYI Alex fixed this here: >> https://lore.kernel.org/qemu-devel/20220315121251.2280317-8-alex.bennee@= linaro.org/ >> >> So your series could go on top (modulo the Coverity change). > > I dropped this hunk in v2. > > Whether my v2 or Alex's series goes in first doesn't matter. That's great. Thanks for finding the ugliness in the first place ;-) --=20 Alex Benn=C3=A9e