On 8/26/2020 12:54 PM, wangyunjian wrote: > From: Yunjian Wang <wangyunj...@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: sta...@dpdk.org > > Signed-off-by: Yunjian Wang <wangyunj...@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);
There is already a 'if (q_fd == -1)' check above to goto this label, what do you think adding a second label to remove duplicated check?