[dpdk-dev] [PATCH v2] eal: fix rte_zalloc_socket to zero memory

Burakov, Anatoly anatoly.burakov at intel.com
Mon Dec 10 17:21:32 CET 2018


On 09-Dec-18 8:11 PM, David Harton wrote:
> The zalloc and calloc functions do not actually zero the memory.
> Added memset to rte_zmalloc_socket() so allocated memory is cleared.
> 
> Signed-off-by: David Harton <dharton at cisco.com>
> ---
> 
> v2 Indented if clause
> 
>   lib/librte_eal/common/rte_malloc.c | 5 ++++-
>   1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/librte_eal/common/rte_malloc.c b/lib/librte_eal/common/rte_malloc.c
> index 0da5ad5e8..40a5384ff 100644
> --- a/lib/librte_eal/common/rte_malloc.c
> +++ b/lib/librte_eal/common/rte_malloc.c
> @@ -74,7 +74,10 @@ rte_malloc(const char *type, size_t size, unsigned align)
>   void *
>   rte_zmalloc_socket(const char *type, size_t size, unsigned align, int socket)
>   {
> -	return rte_malloc_socket(type, size, align, socket);
> +	void *new_ptr = rte_malloc_socket(type, size, align, socket);
> +	if (new_ptr)
> +		memset(new_ptr, 0, size);
> +	return new_ptr;
>   }
>   
>   /*
> 
NAK, see comments to v1.

TL;DR this is not needed, rte_free does memset(0). If there are 
circumstances where some memory is not erased, this is a bug and should 
be fixed at the source.

-- 
Thanks,
Anatoly


More information about the dev mailing list