drivers/infiniband/hw/bnxt_re/ib_verbs.c 2817 int bnxt_re_dereg_mr(struct ib_mr *ib_mr) 2818 { 2819 struct bnxt_re_mr *mr = container_of(ib_mr, struct bnxt_re_mr, ib_mr); 2820 struct bnxt_re_dev *rdev = mr->rdev; 2821 int rc = 0; It's weird that it would complain about this because initializing variables to bogus values is a prefered style for some people. It's bad style obviously, yes, but it's common and it seems like it would lead to a lot of false postives. 2822 2823 if (mr->npages && mr->pages) { 2824 rc = bnxt_qplib_free_fast_reg_page_list(&rdev->qplib_res, 2825 &mr->qplib_frpl); And then it doesn't complain about this one which seems like a legit bug. 2826 kfree(mr->pages); 2827 mr->npages = 0; 2828 mr->pages = NULL; 2829 } 2830 rc = bnxt_qplib_free_mrw(&rdev->qplib_res, &mr->qplib_mr); 2831 2832 if (!IS_ERR(mr->ib_umem) && mr->ib_umem) 2833 ib_umem_release(mr->ib_umem); 2834 2835 kfree(mr); 2836 atomic_dec(&rdev->mr_count); 2837 return rc; 2838 } regards, dan carpenter -- 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