From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gao Feng Subject: [PATCH v2] eal: fix unlock in rte_eal_memzone_init Date: Fri, 7 Dec 2018 09:20:08 +0800 Message-ID: <1544145608-828-1-git-send-email-gfree.wind@vip.163.com> References: <1544057251-17351-1-git-send-email-gfree.wind@vip.163.com> Cc: anatoly.burakov@intel.com, stable@dpdk.org, Gao Feng To: dev@dpdk.org Return-path: In-Reply-To: <1544057251-17351-1-git-send-email-gfree.wind@vip.163.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" The RTE_PROC_PRIMARY error handler lost the unlock statement in the current codes. Now unlock and return in one place to fix it. Fixes: 49df3db84883 ("memzone: replace memzone array with fbarray") Cc: stable@dpdk.org Signed-off-by: Gao Feng --- v2: Unlock and return in one place, per Anatoly lib/librte_eal/common/eal_common_memzone.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/librte_eal/common/eal_common_memzone.c b/lib/librte_eal/common/eal_common_memzone.c index b7081af..664df5b 100644 --- a/lib/librte_eal/common/eal_common_memzone.c +++ b/lib/librte_eal/common/eal_common_memzone.c @@ -365,6 +365,7 @@ int rte_eal_memzone_init(void) { struct rte_mem_config *mcfg; + int ret = 0; /* get pointer to global configuration */ mcfg = rte_eal_get_configuration()->mem_config; @@ -375,17 +376,16 @@ rte_eal_memzone_init(void) rte_fbarray_init(&mcfg->memzones, "memzone", RTE_MAX_MEMZONE, sizeof(struct rte_memzone))) { RTE_LOG(ERR, EAL, "Cannot allocate memzone list\n"); - return -1; + ret = -1; } else if (rte_eal_process_type() == RTE_PROC_SECONDARY && rte_fbarray_attach(&mcfg->memzones)) { RTE_LOG(ERR, EAL, "Cannot attach to memzone list\n"); - rte_rwlock_write_unlock(&mcfg->mlock); - return -1; + ret = -1; } rte_rwlock_write_unlock(&mcfg->mlock); - return 0; + return ret; } /* Walk all reserved memory zones */ -- 2.7.4