[v2] drivers: dpaa: fix 'bman_pool' leak in dpaa_mbuf_create_pool
Checks
Commit Message
When 'rte_zmalloc' failed dpaa_mbuf_create_pool() forgets freeing
'bp' thus leading resource leak. This patch avoids this.
Spotted by Coverity: CID 337679
Signed-off-by: Li Qiang <liq3ea@163.com>
---
drivers/mempool/dpaa/dpaa_mempool.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Comments
09/04/2019 16:56, Li Qiang:
> When 'rte_zmalloc' failed dpaa_mbuf_create_pool() forgets freeing
> 'bp' thus leading resource leak. This patch avoids this.
>
> Spotted by Coverity: CID 337679
>
> Signed-off-by: Li Qiang <liq3ea@163.com>
Applied, thanks
Sorry for the delay, I missed the ack from Hemant which was
not threaded and not in patchwork.
@@ -78,8 +78,10 @@ dpaa_mbuf_create_pool(struct rte_mempool *mp)
rte_dpaa_bpid_info = (struct dpaa_bp_info *)rte_zmalloc(NULL,
sizeof(struct dpaa_bp_info) * DPAA_MAX_BPOOLS,
RTE_CACHE_LINE_SIZE);
- if (rte_dpaa_bpid_info == NULL)
+ if (rte_dpaa_bpid_info == NULL) {
+ bman_free_pool(bp);
return -ENOMEM;
+ }
}
rte_dpaa_bpid_info[bpid].mp = mp;