qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] vhost-user-input: use free(elem) instead of g_free(elem)


From: Stefan Hajnoczi
Subject: Re: [PATCH] vhost-user-input: use free(elem) instead of g_free(elem)
Date: Thu, 21 Nov 2019 13:51:09 +0000
User-agent: Mutt/1.12.1 (2019-06-15)

On Wed, Nov 20, 2019 at 11:48:56AM +0000, Daniel P. Berrangé wrote:
> On Tue, Nov 19, 2019 at 11:16:26AM +0000, Stefan Hajnoczi wrote:
> > The virtqueue element returned by vu_queue_pop() is allocated using
> > malloc(3) by virtqueue_alloc_element().  Use the matching free(3)
> > function instead of glib's g_free().
> 
> Just as an FYI, since glib 2.46  g_malloc is hardcoded to use the
> system allocator, so it is now guaranteed that g_malloc/malloc
> and g_free/free are safely interchangable. I recently got this
> clarified in the glib docs:
> 
>   https://gitlab.gnome.org/GNOME/glib/merge_requests/1099//diffs
> 
> QEMU mandates 2.48 so we are now safe in that regard
> 
> For readability/sanity sake I'd still suggest matching functions
> but it is not a functional danger any more. Even when it was a
> risk, that risk only arose if you called GLib's API for installing
> a custom allocator callback which QEMU never did, so it was always
> a non-issue.

You are right, although QEMU did use g_mem_set_vtable().  The custom
functions still used malloc() underneath though so it would be safe
anyway:

  commit 98cf48f60aa4999f5b2808569a193a401a390e6a
  Author: Paolo Bonzini <address@hidden>
  Date:   Wed Sep 16 17:38:44 2015 +0200

      trace: remove malloc tracing

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]