[dpdk-dev] [PATCH] eal: fix unlock in rte_eal_memzone_init

Burakov, Anatoly anatoly.burakov at intel.com
Thu Dec 6 10:09:23 CET 2018


On 06-Dec-18 12:47 AM, gfree.wind at vip.163.com wrote:
> From: Gao Feng <davidfgao at tencent.com>
> 
> The RTE_PROC_PRIMARY error handler lost the unlock statement in the
> current codes. Now fix it.
> 
> Signed-off-by: Gao Feng <davidfgao at tencent.com>

Fixes: 49df3db84883 ("memzone: replace memzone array with fbarray")
Cc: stable at dpdk.org

> ---
>   lib/librte_eal/common/eal_common_memzone.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/lib/librte_eal/common/eal_common_memzone.c b/lib/librte_eal/common/eal_common_memzone.c
> index b7081af..649cad4 100644
> --- a/lib/librte_eal/common/eal_common_memzone.c
> +++ b/lib/librte_eal/common/eal_common_memzone.c
> @@ -375,6 +375,7 @@
>   			rte_fbarray_init(&mcfg->memzones, "memzone",
>   			RTE_MAX_MEMZONE, sizeof(struct rte_memzone))) {
>   		RTE_LOG(ERR, EAL, "Cannot allocate memzone list\n");
> +		rte_rwlock_write_unlock(&mcfg->mlock);
>   		return -1;
>   	} else if (rte_eal_process_type() == RTE_PROC_SECONDARY &&
>   			rte_fbarray_attach(&mcfg->memzones)) {
> 

Acked-by: Anatoly Burakov <anatoly.burakov at intel.com>

Although i would probably remove both unlocks and instead save and 
return a value, so that unlock happens in one place. But this is OK too.

-- 
Thanks,
Anatoly


More information about the dev mailing list