From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1fIV2I-0007e5-EY for mharc-qemu-trivial@gnu.org; Tue, 15 May 2018 04:10:18 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60756) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fIV2B-0007WJ-KW for qemu-trivial@nongnu.org; Tue, 15 May 2018 04:10:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fIV27-0000so-Af for qemu-trivial@nongnu.org; Tue, 15 May 2018 04:10:11 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:35334 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fIV1x-0000n5-OJ; Tue, 15 May 2018 04:09:57 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5B4CF11734A; Tue, 15 May 2018 08:09:57 +0000 (UTC) Received: from gondolin (dhcp-192-222.str.redhat.com [10.33.192.222]) by smtp.corp.redhat.com (Postfix) with ESMTP id A9470C1FB5; Tue, 15 May 2018 08:09:51 +0000 (UTC) Date: Tue, 15 May 2018 10:09:49 +0200 From: Cornelia Huck To: Thomas Huth Cc: Olaf Hering , qemu-trivial@nongnu.org, Paolo Bonzini , Fam Zheng , "open list:All patches CC here" , Stefan Hajnoczi , qemu-stable@nongnu.org Message-ID: <20180515100949.248bc43b.cohuck@redhat.com> In-Reply-To: References: <20180515063128.7040-1-olaf@aepfle.de> Organization: Red Hat GmbH MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Tue, 15 May 2018 08:09:57 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Tue, 15 May 2018 08:09:57 +0000 (UTC) for IP:'10.11.54.5' DOMAIN:'int-mx05.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'cohuck@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.187.233.73 Subject: Re: [Qemu-trivial] [Qemu-devel] [PATCH v2] replace functions which are only available in glib-2.24 X-BeenThere: qemu-trivial@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 May 2018 08:10:17 -0000 On Tue, 15 May 2018 09:18:52 +0200 Thomas Huth wrote: > On 15.05.2018 08:31, Olaf Hering wrote: > > Currently the minimal supported version of glib is 2.22. > > Since testing is done with a glib that claims to be 2.22, but in fact > > has APIs from newer version of glib, this bug was not caught during > > submit of the patch referenced below. > > > > Replace g_realloc_n, which is available only since 2.24, with g_renew. > > > > Fixes commit 418026ca43 ("util: Introduce vfio helpers") > > > > Signed-off-by: Olaf Hering > > --- > > This must go into stable-2.12. > > In that case please CC: qemu-stable@nongnu.org (done now). > > Reviewed-by: Thomas Huth > > > util/vfio-helpers.c | 6 ++---- > > 1 file changed, 2 insertions(+), 4 deletions(-) > > > > diff --git a/util/vfio-helpers.c b/util/vfio-helpers.c > > index 006674c916..1d9272efa4 100644 > > --- a/util/vfio-helpers.c > > +++ b/util/vfio-helpers.c > > @@ -522,8 +522,7 @@ static IOVAMapping *qemu_vfio_add_mapping(QEMUVFIOState *s, > > > > assert(index >= 0); > > s->nr_mappings++; > > - s->mappings = g_realloc_n(s->mappings, sizeof(s->mappings[0]), > > - s->nr_mappings); > > + s->mappings = g_renew(IOVAMapping, s->mappings, s->nr_mappings); > > insert = &s->mappings[index]; > > shift = s->nr_mappings - index - 1; > > if (shift) { > > @@ -577,8 +576,7 @@ static void qemu_vfio_undo_mapping(QEMUVFIOState *s, IOVAMapping *mapping, > > memmove(mapping, &s->mappings[index + 1], > > sizeof(s->mappings[0]) * (s->nr_mappings - index - 1)); > > s->nr_mappings--; > > - s->mappings = g_realloc_n(s->mappings, sizeof(s->mappings[0]), > > - s->nr_mappings); > > + s->mappings = g_renew(IOVAMapping, s->mappings, s->nr_mappings); > > } > > > > /* Check if the mapping list is (ascending) ordered. */ > > This looks fine to me, so Reviewed-by: Cornelia Huck But this leads to another question: What do we do if we want a fix only in stable? Hypothetical scenario: Same parameters as for this patch (glib version bump, newer function sneaked in), but the older function that could be used in stable is clearly worse (IOW, we don't want it in the new version). Do we have a process to get a change only into stable?