[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 3/5] HACKING: add memory management rules
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH 3/5] HACKING: add memory management rules |
Date: |
Fri, 27 Aug 2010 10:45:45 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.11) Gecko/20100720 Fedora/3.0.6-1.fc12 Thunderbird/3.0.6 |
Am 26.08.2010 20:38, schrieb Blue Swirl:
> Add memory management rules, somewhat like libvirt HACKING.
>
> Signed-off-by: Blue Swirl <address@hidden>
> ---
> HACKING | 11 +++++++++++
> 1 files changed, 11 insertions(+), 0 deletions(-)
>
> diff --git a/HACKING b/HACKING
> index 19fc874..554009e 100644
> --- a/HACKING
> +++ b/HACKING
> @@ -72,3 +72,14 @@ Typedefs are used to eliminate the redundant
> 'struct' keyword.
> 2.4. Reserved namespaces in C
> Underscore capital, double underscore, and underscore 't' suffixes should be
> avoided.
> +
> +3. Low level memory management
> +
> +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 qemu_malloc/qemu_mallocz/qemu_realloc/qemu_free or
> +qemu_vmalloc/qemu_memalign/qemu_vfree APIs.
> +
> +Memory allocated by qemu_vmalloc or qemu_memalign must be freed with
> +qemu_vfree, since breaking this will cause problems on Win32 and user
> +emulators.
Maybe add that a NULL check for the qemu_malloc result is redundant.
And a warning about the stupid qemu_malloc(0) behaviour would be
appropriate, too. Because if you don't know it, you'll write buggy code.
Kevin