> -----Original Message----- > From: Hariprasad Shenai [mailto:hariprasad@xxxxxxxxxxx] > Sent: Monday, January 11, 2016 11:45 PM > To: linux-rdma@xxxxxxxxxxxxxxx > Cc: dledford@xxxxxxxxxx; swise@xxxxxxxxxxxxxxxxxxxxx; leedom@xxxxxxxxxxx; nirranjan@xxxxxxxxxxx; Hariprasad Shenai > Subject: [PATCHv2 for-4.5 1/2] iw_cxgb4: Fixes static checker warning in c4iw_rdev_open() > > The commit c5dfb000b904 ("iw_cxgb4: Pass qid range to user space > driver") from Dec 11, 2015, leads to the following static checker > warning: > > drivers/infiniband/hw/cxgb4/device.c:857 c4iw_rdev_open() > warn: variable dereferenced before check 'rdev->status_page' > Fixing it. > Also we weren't deallocating ocqp pool in error path when failed to > allocate status page. Fixing it too. > You need to add: Fixes: c5dfb000b904 ("iw_cxgb4: Pass qid range to user space driver") > Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> > --- > drivers/infiniband/hw/cxgb4/device.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/infiniband/hw/cxgb4/device.c b/drivers/infiniband/hw/cxgb4/device.c > index bf15538..2a3490f 100644 > --- a/drivers/infiniband/hw/cxgb4/device.c > +++ b/drivers/infiniband/hw/cxgb4/device.c > @@ -850,14 +850,12 @@ static int c4iw_rdev_open(struct c4iw_rdev *rdev) > } > rdev->status_page = (struct t4_dev_status_page *) > __get_free_page(GFP_KERNEL); > + if (!rdev->status_page) > + goto destroy_ocqp_pool; > rdev->status_page->qp_start = rdev->lldi.vr->qp.start; > rdev->status_page->qp_size = rdev->lldi.vr->qp.size; > rdev->status_page->cq_start = rdev->lldi.vr->cq.start; > rdev->status_page->cq_size = rdev->lldi.vr->cq.size; > - if (!rdev->status_page) { > - pr_err(MOD "error allocating status page\n"); > - goto err4; > - } > > if (c4iw_wr_log) { > rdev->wr_log = kzalloc((1 << c4iw_wr_log_size_order) * > @@ -873,6 +871,8 @@ static int c4iw_rdev_open(struct c4iw_rdev *rdev) > rdev->status_page->db_off = 0; > > return 0; > +destroy_ocqp_pool: > + c4iw_ocqp_pool_destroy(rdev); > err4: > c4iw_rqtpool_destroy(rdev); > err3: > -- > 2.3.4 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html