Patchwork HACKING: clarify allocation/free recommendations

login
register
mail settings
Submitter Peter Maydell
Date Dec. 15, 2011, 1:33 p.m.
Message ID <1323956034-21468-1-git-send-email-peter.maydell@linaro.org>
Download mbox | patch
Permalink /patch/131612/
State New
Headers show

Comments

Peter Maydell - Dec. 15, 2011, 1:33 p.m.
Clarify the allocation/free recommendations; this is mostly
just tidying up following the global-search-and-replace done
with the conversion to the GLib g_malloc and friends.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 HACKING |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)
Stefan Hajnoczi - Dec. 15, 2011, 1:55 p.m.
On Thu, Dec 15, 2011 at 1:33 PM, Peter Maydell <peter.maydell@linaro.org> wrote:
> Clarify the allocation/free recommendations; this is mostly
> just tidying up following the global-search-and-replace done
> with the conversion to the GLib g_malloc and friends.
>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>  HACKING |   10 ++++++----
>  1 files changed, 6 insertions(+), 4 deletions(-)

Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Anthony Liguori - Dec. 15, 2011, 6:11 p.m.
On 12/15/2011 07:33 AM, Peter Maydell wrote:
> Clarify the allocation/free recommendations; this is mostly
> just tidying up following the global-search-and-replace done
> with the conversion to the GLib g_malloc and friends.
>
> Signed-off-by: Peter Maydell<peter.maydell@linaro.org>

Applied.  Thanks.

Regards,

Anthony Liguori

> ---
>   HACKING |   10 ++++++----
>   1 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/HACKING b/HACKING
> index 733eab2..471cf1d 100644
> --- a/HACKING
> +++ b/HACKING
> @@ -77,11 +77,13 @@ avoided.
>
>   Use of the malloc/free/realloc/calloc/valloc/memalign/posix_memalign
>   APIs is not allowed in the QEMU codebase. Instead of these routines,
> -use the replacement g_malloc/g_malloc0/g_realloc/g_free or
> -qemu_vmalloc/qemu_memalign/qemu_vfree APIs.
> +use the GLib memory allocation routines g_malloc/g_malloc0/g_new/
> +g_new0/g_realloc/g_free or QEMU's qemu_vmalloc/qemu_memalign/qemu_vfree
> +APIs.
>
> -Please note that NULL check for the g_malloc result is redundant and
> -that g_malloc() call with zero size is not allowed.
> +Please note that g_malloc will exit on allocation failure, so there
> +is no need to test for failure (as you would have to with malloc).
> +Calling g_malloc with a zero size is valid and will return NULL.
>
>   Memory allocated by qemu_vmalloc or qemu_memalign must be freed with
>   qemu_vfree, since breaking this will cause problems on Win32 and user
Anthony Liguori - Dec. 15, 2011, 6:12 p.m.
On 12/15/2011 07:33 AM, Peter Maydell wrote:
> Clarify the allocation/free recommendations; this is mostly
> just tidying up following the global-search-and-replace done
> with the conversion to the GLib g_malloc and friends.
>
> Signed-off-by: Peter Maydell<peter.maydell@linaro.org>

Applied.  Thanks.

Regards,

Anthony Liguori

> ---
>   HACKING |   10 ++++++----
>   1 files changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/HACKING b/HACKING
> index 733eab2..471cf1d 100644
> --- a/HACKING
> +++ b/HACKING
> @@ -77,11 +77,13 @@ avoided.
>
>   Use of the malloc/free/realloc/calloc/valloc/memalign/posix_memalign
>   APIs is not allowed in the QEMU codebase. Instead of these routines,
> -use the replacement g_malloc/g_malloc0/g_realloc/g_free or
> -qemu_vmalloc/qemu_memalign/qemu_vfree APIs.
> +use the GLib memory allocation routines g_malloc/g_malloc0/g_new/
> +g_new0/g_realloc/g_free or QEMU's qemu_vmalloc/qemu_memalign/qemu_vfree
> +APIs.
>
> -Please note that NULL check for the g_malloc result is redundant and
> -that g_malloc() call with zero size is not allowed.
> +Please note that g_malloc will exit on allocation failure, so there
> +is no need to test for failure (as you would have to with malloc).
> +Calling g_malloc with a zero size is valid and will return NULL.
>
>   Memory allocated by qemu_vmalloc or qemu_memalign must be freed with
>   qemu_vfree, since breaking this will cause problems on Win32 and user

Patch

diff --git a/HACKING b/HACKING
index 733eab2..471cf1d 100644
--- a/HACKING
+++ b/HACKING
@@ -77,11 +77,13 @@  avoided.
 
 Use of the malloc/free/realloc/calloc/valloc/memalign/posix_memalign
 APIs is not allowed in the QEMU codebase. Instead of these routines,
-use the replacement g_malloc/g_malloc0/g_realloc/g_free or
-qemu_vmalloc/qemu_memalign/qemu_vfree APIs.
+use the GLib memory allocation routines g_malloc/g_malloc0/g_new/
+g_new0/g_realloc/g_free or QEMU's qemu_vmalloc/qemu_memalign/qemu_vfree
+APIs.
 
-Please note that NULL check for the g_malloc result is redundant and
-that g_malloc() call with zero size is not allowed.
+Please note that g_malloc will exit on allocation failure, so there
+is no need to test for failure (as you would have to with malloc).
+Calling g_malloc with a zero size is valid and will return NULL.
 
 Memory allocated by qemu_vmalloc or qemu_memalign must be freed with
 qemu_vfree, since breaking this will cause problems on Win32 and user