Merge branch 'nvme-4.18' of git://git.infradead.org/nvme into for-linus
authorJens Axboe <axboe@kernel.dk>
Fri, 29 Jun 2018 13:55:41 +0000 (07:55 -0600)
committerJens Axboe <axboe@kernel.dk>
Fri, 29 Jun 2018 13:55:41 +0000 (07:55 -0600)
Pull single NVMe fix from Christoph.

* 'nvme-4.18' of git://git.infradead.org/nvme:
  nvme-rdma: fix possible double free of controller async event buffer

drivers/nvme/host/rdma.c

index 9544625..518c5b0 100644 (file)
@@ -732,8 +732,11 @@ static void nvme_rdma_destroy_admin_queue(struct nvme_rdma_ctrl *ctrl,
                blk_cleanup_queue(ctrl->ctrl.admin_q);
                nvme_rdma_free_tagset(&ctrl->ctrl, ctrl->ctrl.admin_tagset);
        }
-       nvme_rdma_free_qe(ctrl->device->dev, &ctrl->async_event_sqe,
-               sizeof(struct nvme_command), DMA_TO_DEVICE);
+       if (ctrl->async_event_sqe.data) {
+               nvme_rdma_free_qe(ctrl->device->dev, &ctrl->async_event_sqe,
+                               sizeof(struct nvme_command), DMA_TO_DEVICE);
+               ctrl->async_event_sqe.data = NULL;
+       }
        nvme_rdma_free_queue(&ctrl->queues[0]);
 }