RDMA/amso1100: Add check for NULL reply_msg in c2_intr()
Fix a place where we might dereference a NULL pointer; this fixes Coverity CID 1392. On inspection I also found a place where we could attempt to kmem_cache_free() a NULL pointer, so fix this too. Signed-off-by: Tom Tucker <tom@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
bbf8eed1a0
commit
9285faa1e7
@ -422,8 +422,8 @@ void c2_free_cq(struct c2_dev *c2dev, struct c2_cq *cq)
|
|||||||
goto bail1;
|
goto bail1;
|
||||||
|
|
||||||
reply = (struct c2wr_cq_destroy_rep *) (unsigned long) (vq_req->reply_msg);
|
reply = (struct c2wr_cq_destroy_rep *) (unsigned long) (vq_req->reply_msg);
|
||||||
|
if (reply)
|
||||||
vq_repbuf_free(c2dev, reply);
|
vq_repbuf_free(c2dev, reply);
|
||||||
bail1:
|
bail1:
|
||||||
vq_req_free(c2dev, vq_req);
|
vq_req_free(c2dev, vq_req);
|
||||||
bail0:
|
bail0:
|
||||||
|
@ -174,7 +174,11 @@ static void handle_vq(struct c2_dev *c2dev, u32 mq_index)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = c2_errno(reply_msg);
|
if (reply_msg)
|
||||||
|
err = c2_errno(reply_msg);
|
||||||
|
else
|
||||||
|
err = -ENOMEM;
|
||||||
|
|
||||||
if (!err) switch (req->event) {
|
if (!err) switch (req->event) {
|
||||||
case IW_CM_EVENT_ESTABLISHED:
|
case IW_CM_EVENT_ESTABLISHED:
|
||||||
c2_set_qp_state(req->qp,
|
c2_set_qp_state(req->qp,
|
||||||
|
Loading…
Reference in New Issue
Block a user