Re: [PATCH][next] RDMA/hns: Fix uninitialized variable bug

From: Jason Gunthorpe
Date: Sat Mar 28 2020 - 08:40:08 EST


On Sat, Mar 28, 2020 at 02:15:14AM +0000, liweihang wrote:
> On 2020/3/28 3:28, Gustavo A. R. Silva wrote:
> > There is a potential execution path in which variable *ret* is returned
> > without being properly initialized, previously.
> >
> > Fix this by initializing variable *ret* to -ENODEV.
> >
> > Addresses-Coverity-ID: 1491917 ("Uninitialized scalar variable")
> > Fixes: 2f49de21f3e9 ("RDMA/hns: Optimize mhop get flow for multi-hop addressing")
> > Signed-off-by: Gustavo A. R. Silva <gustavo@xxxxxxxxxxxxxx>
> > drivers/infiniband/hw/hns/hns_roce_hem.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/infiniband/hw/hns/hns_roce_hem.c b/drivers/infiniband/hw/hns/hns_roce_hem.c
> > index c96378718f88..3fd8100c2b56 100644
> > +++ b/drivers/infiniband/hw/hns/hns_roce_hem.c
> > @@ -603,7 +603,7 @@ static int set_mhop_hem(struct hns_roce_dev *hr_dev,
> > {
> > struct ib_device *ibdev = &hr_dev->ib_dev;
> > int step_idx;
> > - int ret;
> > + int ret = -ENODEV;
> >
> > if (index->inited & HEM_INDEX_L0) {
> > ret = hr_dev->hw->set_hem(hr_dev, table, obj, 0);
> >
>
> Hi Gustavo,
>
> Thanks for your modification. But I check the code and I think "ret"
> should be initialized to 0, which means no need to set hem and it is
> not an error.

Weihang, thank you for checking, I would have taken it without your remarks :)

Jason