IB/usnic: check for allocation failure
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 25 Aug 2017 08:43:59 +0000 (11:43 +0300)
committerDoug Ledford <dledford@redhat.com>
Mon, 28 Aug 2017 23:12:24 +0000 (19:12 -0400)
usnic_uiom_get_dev_list() can return ERR_PTR(-ENOMEM) so we should check
for that.

Fixes: e3cf00d0a87f ("IB/usnic: Add Cisco VIC low-level hardware driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Yuval Shaia <yuval.shaia@oracle.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/infiniband/hw/usnic/usnic_ib_verbs.c

index 97dd79ebb5905c27c73bdd4681ae0dd18fbc64f0..e4113ef09315942330bd8fdabe8db42d283ef5a9 100644 (file)
@@ -164,6 +164,8 @@ find_free_vf_and_create_qp_grp(struct usnic_ib_dev *us_ibdev,
        if (usnic_ib_share_vf) {
                /* Try to find resouces on a used vf which is in pd */
                dev_list = usnic_uiom_get_dev_list(pd->umem_pd);
+               if (IS_ERR(dev_list))
+                       return ERR_CAST(dev_list);
                for (i = 0; dev_list[i]; i++) {
                        dev = dev_list[i];
                        vf = pci_get_drvdata(to_pci_dev(dev));