[dpdk-dev] [PATCH] lib/lib_eal:fix the pointer 'elem' may be NULL bug

Sergio Gonzalez Monroy sergio.gonzalez.monroy at intel.com
Wed Jun 28 12:06:34 CEST 2017


On 28/06/2017 09:12, RongQiang Xie wrote:
> Signed-off-by: RongQiang Xie <xie.rongqiang at zte.com.cn>
> ---
>   lib/librte_eal/common/eal_common_memzone.c | 6 ++++++
>   1 file changed, 6 insertions(+)
>   mode change 100644 => 100755 lib/librte_eal/common/eal_common_memzone.c
>
> diff --git a/lib/librte_eal/common/eal_common_memzone.c b/lib/librte_eal/common/eal_common_memzone.c
> old mode 100644
> new mode 100755
> index 3026e36..8ea781b
> --- a/lib/librte_eal/common/eal_common_memzone.c
> +++ b/lib/librte_eal/common/eal_common_memzone.c
> @@ -238,6 +238,12 @@
>   	}
>   
>   	const struct malloc_elem *elem = malloc_elem_from_data(mz_addr);
> +	
> +	if (elem == NULL) {
> +	    RTE_LOG(ERR, EAL, "%s(): Cannot malloc elem from data \n", __func__);
> +		rte_errno = ENOSPC;
> +		return NULL;
> +	}
>   
>   	/* fill the zone in config */
>   	mz = get_next_free_memzone();

Hi,

Could you elaborate how do you trigger this error?

The only way you are getting NULL from malloc_elem_from_data is:
A) data is NULL, which cannot be the case as we previously check for it
B) cookies failure id you have DEBUG enabled, otherwise elem would have 
to be NULL

Thanks,
Sergio


More information about the dev mailing list