Re: [bug report] RDMA/erdma: Add verbs implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jun 09, 2022 at 10:32:18AM +0800, Cheng Xu wrote:
> 
> 
> On 6/8/22 8:56 PM, Dan Carpenter wrote:
> > Hello Cheng Xu,
> > 
> > The patch c4612e83c14b: "RDMA/erdma: Add verbs implementation" from
> > May 23, 2022, leads to the following Smatch static checker warning:
> > 
> > 	drivers/infiniband/hw/erdma/erdma_verbs.c:111 create_qp_cmd()
> > 	error: uninitialized symbol 'resp0'.
> > 
> > drivers/infiniband/hw/erdma/erdma_verbs.c
> >      100                 req.sq_buf_addr = user_qp->sq_mtt.mtt_entry[0];
> >      101                 req.rq_buf_addr = user_qp->rq_mtt.mtt_entry[0];
> >      102
> >      103                 req.sq_db_info_dma_addr = user_qp->sq_db_info_dma_addr;
> >      104                 req.rq_db_info_dma_addr = user_qp->rq_db_info_dma_addr;
> >      105         }
> >      106
> >      107         err = erdma_post_cmd_wait(&dev->cmdq, (u64 *)&req, sizeof(req), &resp0,
> >      108                                   &resp1);
> > 
> > The erdma_post_cmd_wait() function does not initialize erdma_post_cmd_wait()
> > on the error paths.
> 
> Oh, I knew this before: since erdma_post_cmd_wait returns error, the qp
> 's resource will destroy soon, the uninitialized value of resp0 will
> influence nothing. So here I reduce a condition judgement.
> 
> Anyway, I will fix it to eliminate the static checker warning.

Thanks!

I am pretty sure it will trigger a KMEMsan warning at runtime once
someone upgrae sysbot to test RDMA.

Another idea would be to initialize resp0 at the top of the function.
Soon the compiler will start initializing to zero anyway so doing it
manually is a zero cost approach.

regards,
dan carpenter




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux