We have run into an issue with perftest and the user verbs libraries. An {qib,hfi1} create_cq fails because of a driver limit in created a recv_cq for perftest. We found this with new UD and UC tests. We can increase the limit, but. perftest runs on after having failed to create a recv_cq: and passes a NULL attr->recv_cq to the user libraries: if (create_cqs(ctx, user_param)) { fprintf(stderr, "Failed to create CQs\n"); /* no return FAILUE */ } recv_cq is then NULL in a create_qp exposing issues with: int ibv_cmd_create_qp(struct ibv_pd *pd, struct ibv_qp *qp, struct ibv_qp_init_attr *attr, struct ibv_create_qp *cmd, size_t cmd_size, struct ibv_create_qp_resp *resp, size_t resp_size) { IBV_INIT_CMD_RESP(cmd, cmd_size, CREATE_QP, resp, resp_size); cmd->user_handle = (uintptr_t) qp; cmd->pd_handle = pd->handle; cmd->send_cq_handle = attr->send_cq->handle; <- potential NULL derefs cmd->recv_cq_handle = attr->recv_cq->handle; If either the send_cq or recv_cq are NULL, the job will seqfault. This could have been checked before the deref here, but other spots in the code lack similar parameter validation. Comments? Mike -- 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