[dpdk-stable] [dpdk-dev] [PATCH] bus/dpaa: fix fd check before close

Sachin Saxena (OSS) sachin.saxena at oss.nxp.com
Wed Aug 26 14:08:53 CEST 2020


Thanks Yunjian for the fix.

Acked-by: Sachin Saxena<sachin.saxena at oss.nxp.com>


On 26-Aug-20 5:24 PM, wangyunjian wrote:
> From: Yunjian Wang <wangyunjian at huawei.com>
>
> The fd is possibly a negative value while it is passed as an
> argument to function "close". Fix the check to the fd.
>
> Fixes: b9c94167904f ("bus/dpaa: decouple FQ portal alloc and init")
> Cc: stable at dpdk.org
>
> Signed-off-by: Yunjian Wang <wangyunjian at huawei.com>
> ---
>   drivers/bus/dpaa/base/qbman/qman_driver.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/bus/dpaa/base/qbman/qman_driver.c b/drivers/bus/dpaa/base/qbman/qman_driver.c
> index 1166d68e2..1bff0bc2f 100644
> --- a/drivers/bus/dpaa/base/qbman/qman_driver.c
> +++ b/drivers/bus/dpaa/base/qbman/qman_driver.c
> @@ -142,7 +142,7 @@ struct qman_portal *fsl_qman_fq_portal_create(int *fd)
>   	struct qm_portal_config *q_pcfg;
>   	struct dpaa_ioctl_irq_map irq_map;
>   	struct dpaa_ioctl_portal_map q_map = {0};
> -	int q_fd = 0, ret;
> +	int q_fd = -1, ret;
>   
>   	q_pcfg = kzalloc((sizeof(struct qm_portal_config)), 0);
>   	if (!q_pcfg) {
> @@ -191,7 +191,7 @@ struct qman_portal *fsl_qman_fq_portal_create(int *fd)
>   err:
>   	if (portal)
>   		qman_free_global_portal(portal);
> -	if (q_fd)
> +	if (q_fd != -1)
>   		close(q_fd);
>   	process_portal_unmap(&q_map.addr);
>   	kfree(q_pcfg);



More information about the stable mailing list