From: Sunil Kumar Kori Date: Mon, 9 Apr 2018 10:22:44 +0000 (+0530) Subject: bus/dpaa: fix resource leak X-Git-Url: http://git.droids-corp.org/?p=dpdk.git;a=commitdiff_plain;h=894888540bdddd050c0927c436cf89a60abfaef2 bus/dpaa: fix resource leak Coverity issue: 268332 Fixes: 9d32ef0f5d61 ("bus/dpaa: support creating dynamic HW portal") Cc: stable@dpdk.org Signed-off-by: Sunil Kumar Kori Acked-by: Hemant Agrawal --- diff --git a/drivers/bus/dpaa/base/qbman/qman_driver.c b/drivers/bus/dpaa/base/qbman/qman_driver.c index 66838d25f3..07b29d55ef 100644 --- a/drivers/bus/dpaa/base/qbman/qman_driver.c +++ b/drivers/bus/dpaa/base/qbman/qman_driver.c @@ -160,6 +160,7 @@ struct qman_portal *fsl_qman_portal_create(void) &cpuset); if (ret) { error(0, ret, "pthread_getaffinity_np()"); + kfree(q_pcfg); return NULL; } @@ -168,12 +169,14 @@ struct qman_portal *fsl_qman_portal_create(void) if (CPU_ISSET(loop, &cpuset)) { if (q_pcfg->cpu != -1) { pr_err("Thread is not affine to 1 cpu\n"); + kfree(q_pcfg); return NULL; } q_pcfg->cpu = loop; } if (q_pcfg->cpu == -1) { pr_err("Bug in getaffinity handling!\n"); + kfree(q_pcfg); return NULL; } @@ -183,6 +186,7 @@ struct qman_portal *fsl_qman_portal_create(void) ret = process_portal_map(&q_map); if (ret) { error(0, ret, "process_portal_map()"); + kfree(q_pcfg); return NULL; } q_pcfg->channel = q_map.channel; @@ -217,6 +221,7 @@ err2: close(q_fd); err1: process_portal_unmap(&q_map.addr); + kfree(q_pcfg); return NULL; }