From 0afad8dd11a167b32468dce0877f74ba6787a738 Mon Sep 17 00:00:00 2001 From: Seth Howell Date: Mon, 27 Apr 2020 10:23:53 -0700 Subject: [PATCH] nvme/nvme_rdma: assign rctrlr in each qpair->ctrlr check While in practice the qpair->ctrlr variable will not change within the disconnect function, when the code is built without debug enabled, gcc thinks that rctrlr may be uninitialized. Signed-off-by: Seth Howell Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2056 (master) (cherry picked from commit bf0561f74175be270f887c81f3faf5d29bf1e963) Change-Id: I355cd62f3a2baaba65d806e3746f615a0dc37f58 Signed-off-by: Tomasz Zawadzki Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2077 Reviewed-by: Ben Walker Reviewed-by: Seth Howell Reviewed-by: Aleksey Marchuk Tested-by: SPDK CI Jenkins --- lib/nvme/nvme_rdma.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/nvme/nvme_rdma.c b/lib/nvme/nvme_rdma.c index 74d076540..d281152dd 100644 --- a/lib/nvme/nvme_rdma.c +++ b/lib/nvme/nvme_rdma.c @@ -1629,7 +1629,7 @@ static void nvme_rdma_ctrlr_disconnect_qpair(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme_qpair *qpair) { struct nvme_rdma_qpair *rqpair = nvme_rdma_qpair(qpair); - struct nvme_rdma_ctrlr *rctrlr; + struct nvme_rdma_ctrlr *rctrlr = NULL; struct nvme_rdma_cm_event_entry *entry, *tmp; nvme_rdma_unregister_mem(rqpair); @@ -1658,8 +1658,7 @@ nvme_rdma_ctrlr_disconnect_qpair(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme if (rqpair->cm_id) { rdma_disconnect(rqpair->cm_id); - if (qpair->ctrlr != NULL) { - + if (rctrlr != NULL) { if (nvme_rdma_process_event(rqpair, rctrlr->cm_channel, RDMA_CM_EVENT_DISCONNECTED)) { SPDK_DEBUGLOG(SPDK_LOG_NVME, "Target did not respond to qpair disconnect.\n"); }