[dpdk-dev] [PATCH] drivers: ifpga_rawdev: fix fd leak in rte_fpga_do_pr

2019-04-09 Thread Li Qiang
In rte_fpga_do_pr() function, if 'stat' return error the
'file_fd' is never closed thus leading a fd leak. This patch
avoids this.

Spotted by Coverity: CID 27441

Signed-off-by: Li Qiang 
---
 drivers/raw/ifpga_rawdev/ifpga_rawdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/raw/ifpga_rawdev/ifpga_rawdev.c 
b/drivers/raw/ifpga_rawdev/ifpga_rawdev.c
index da772d026..0dbb16ca6 100644
--- a/drivers/raw/ifpga_rawdev/ifpga_rawdev.c
+++ b/drivers/raw/ifpga_rawdev/ifpga_rawdev.c
@@ -244,7 +244,7 @@ rte_fpga_do_pr(struct rte_rawdev *rawdev, int port_id,
if (ret) {
IFPGA_RAWDEV_PMD_ERR("stat on bitstream file failed: %s\n",
file_name);
-   return -EINVAL;
+   goto close_fd;
}
buffer_size = file_stat.st_size;
IFPGA_RAWDEV_PMD_INFO("bitstream file size: %zu\n", buffer_size);
-- 
2.17.1




[dpdk-dev] [PATCH] drivers: dpaa: fix 'bman_pool' leak in dpaa_mbuf_create_pool

2019-04-09 Thread 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 
---
 drivers/mempool/dpaa/dpaa_mempool.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/mempool/dpaa/dpaa_mempool.c 
b/drivers/mempool/dpaa/dpaa_mempool.c
index 003081772..3d5c0022c 100644
--- a/drivers/mempool/dpaa/dpaa_mempool.c
+++ b/drivers/mempool/dpaa/dpaa_mempool.c
@@ -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;
-- 
2.17.1




Re: [dpdk-dev] [PATCH] drivers: dpaa: fix 'bman_pool' leak in dpaa_mbuf_create_pool

2019-04-09 Thread Li Qiang
Sorry this patch has an error, please see the v2.

Thanks,
Li Qiang

Li Qiang  于2019年4月9日周二 下午10:33写道:

> 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 
> ---
>  drivers/mempool/dpaa/dpaa_mempool.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/mempool/dpaa/dpaa_mempool.c
> b/drivers/mempool/dpaa/dpaa_mempool.c
> index 003081772..3d5c0022c 100644
> --- a/drivers/mempool/dpaa/dpaa_mempool.c
> +++ b/drivers/mempool/dpaa/dpaa_mempool.c
> @@ -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;
> --
> 2.17.1
>
>
>


[dpdk-dev] [PATCH v2] drivers: dpaa: fix 'bman_pool' leak in dpaa_mbuf_create_pool

2019-04-09 Thread 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 
---
 drivers/mempool/dpaa/dpaa_mempool.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/mempool/dpaa/dpaa_mempool.c 
b/drivers/mempool/dpaa/dpaa_mempool.c
index 003081772..54cdf37e8 100644
--- a/drivers/mempool/dpaa/dpaa_mempool.c
+++ b/drivers/mempool/dpaa/dpaa_mempool.c
@@ -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;
-- 
2.17.1




[dpdk-dev] [PATCH v2] drivers: ifpga_rawdev: fix fd leak in rte_fpga_do_pr

2019-04-10 Thread Li Qiang
In rte_fpga_do_pr() function, if 'stat' return error the
'file_fd' is never closed thus leading a fd leak. This patch
avoids this.

Spotted by Coverity: CID 27441

Signed-off-by: Li Qiang 
---
Changes since v1: fill ret before goto close_fd per Rosen's review

 drivers/raw/ifpga_rawdev/ifpga_rawdev.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/raw/ifpga_rawdev/ifpga_rawdev.c 
b/drivers/raw/ifpga_rawdev/ifpga_rawdev.c
index da772d026..eff001b59 100644
--- a/drivers/raw/ifpga_rawdev/ifpga_rawdev.c
+++ b/drivers/raw/ifpga_rawdev/ifpga_rawdev.c
@@ -244,7 +244,8 @@ rte_fpga_do_pr(struct rte_rawdev *rawdev, int port_id,
if (ret) {
IFPGA_RAWDEV_PMD_ERR("stat on bitstream file failed: %s\n",
file_name);
-   return -EINVAL;
+   ret = -EINVAL;
+   goto close_fd;
}
buffer_size = file_stat.st_size;
IFPGA_RAWDEV_PMD_INFO("bitstream file size: %zu\n", buffer_size);
-- 
2.17.1




[dpdk-dev] [PATCH v3] drivers: ifpga_rawdev: fix fd leak in rte_fpga_do_pr

2019-04-16 Thread Li Qiang
In rte_fpga_do_pr() function, if 'stat' return error the
'file_fd' is never closed thus leading a fd leak. This patch
avoids this.

Coverity issue: 279441
Fixes: ef1e8ede3da59e("raw/ifpga: add Intel FPGA bus rawdev driver")
Cc: sta...@dpdk.org

Signed-off-by: Li Qiang 
---
Change since v2: add proper tags in commit message

 drivers/raw/ifpga_rawdev/ifpga_rawdev.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/raw/ifpga_rawdev/ifpga_rawdev.c 
b/drivers/raw/ifpga_rawdev/ifpga_rawdev.c
index da772d026..eff001b59 100644
--- a/drivers/raw/ifpga_rawdev/ifpga_rawdev.c
+++ b/drivers/raw/ifpga_rawdev/ifpga_rawdev.c
@@ -244,7 +244,8 @@ rte_fpga_do_pr(struct rte_rawdev *rawdev, int port_id,
if (ret) {
IFPGA_RAWDEV_PMD_ERR("stat on bitstream file failed: %s\n",
file_name);
-   return -EINVAL;
+   ret = -EINVAL;
+   goto close_fd;
}
buffer_size = file_stat.st_size;
IFPGA_RAWDEV_PMD_INFO("bitstream file size: %zu\n", buffer_size);
-- 
2.19.1.3.ge56e4f7




[dpdk-dev] [PATCH v3] drivers: ifpga_rawdev: fix fd leak in rte_fpga_do_pr

2019-04-16 Thread Li Qiang
In rte_fpga_do_pr() function, if 'stat' return error the
'file_fd' is never closed thus leading a fd leak. This patch
avoids this.

Coverity issue: 279441
Fixes: ef1e8ede3da59e("raw/ifpga: add Intel FPGA bus rawdev driver")
Cc: sta...@dpdk.org

Signed-off-by: Li Qiang 
---
Change since v2: add proper tags in commit message

 drivers/raw/ifpga_rawdev/ifpga_rawdev.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/raw/ifpga_rawdev/ifpga_rawdev.c 
b/drivers/raw/ifpga_rawdev/ifpga_rawdev.c
index da772d026..eff001b59 100644
--- a/drivers/raw/ifpga_rawdev/ifpga_rawdev.c
+++ b/drivers/raw/ifpga_rawdev/ifpga_rawdev.c
@@ -244,7 +244,8 @@ rte_fpga_do_pr(struct rte_rawdev *rawdev, int port_id,
if (ret) {
IFPGA_RAWDEV_PMD_ERR("stat on bitstream file failed: %s\n",
file_name);
-   return -EINVAL;
+   ret = -EINVAL;
+   goto close_fd;
}
buffer_size = file_stat.st_size;
IFPGA_RAWDEV_PMD_INFO("bitstream file size: %zu\n", buffer_size);
-- 
2.19.1.3.ge56e4f7