aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/sw/siw/siw_cm.c
diff options
context:
space:
mode:
authorBernard Metzler <bmt@zurich.ibm.com>2019-08-19 16:02:57 +0200
committerDoug Ledford <dledford@redhat.com>2019-08-20 13:44:44 -0400
commit9b440078017f194e56eaae3ac32f333f420c5c4e (patch)
tree2740857561f5a6e4173c55d2d66f05c0328a61dc /drivers/infiniband/sw/siw/siw_cm.c
parentRDMA/mlx5: Fix MR npages calculation for IB_ACCESS_HUGETLB (diff)
downloadlinux-dev-9b440078017f194e56eaae3ac32f333f420c5c4e.tar.xz
linux-dev-9b440078017f194e56eaae3ac32f333f420c5c4e.zip
RDMA/siw: Fix potential NULL de-ref
In siw_connect() we have an error flow where there is no valid qp pointer. Make sure we don't try to de-ref in that situation. Fixes: 6c52fdc244b5 ("rdma/siw: connection management") Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Bernard Metzler <bmt@zurich.ibm.com> Link: https://lore.kernel.org/r/20190819140257.19319-1-bmt@zurich.ibm.com Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/sw/siw/siw_cm.c')
-rw-r--r--drivers/infiniband/sw/siw/siw_cm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/infiniband/sw/siw/siw_cm.c b/drivers/infiniband/sw/siw/siw_cm.c
index 9ce8a1b925d2..fc97571a640b 100644
--- a/drivers/infiniband/sw/siw/siw_cm.c
+++ b/drivers/infiniband/sw/siw/siw_cm.c
@@ -1515,7 +1515,7 @@ int siw_connect(struct iw_cm_id *id, struct iw_cm_conn_param *params)
}
}
error:
- siw_dbg_qp(qp, "failed: %d\n", rv);
+ siw_dbg(id->device, "failed: %d\n", rv);
if (cep) {
siw_socket_disassoc(s);
@@ -1540,7 +1540,8 @@ error:
} else if (s) {
sock_release(s);
}
- siw_qp_put(qp);
+ if (qp)
+ siw_qp_put(qp);
return rv;
}