[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
signature.asc
Description: PGP signature