Commit 025c557a authored by Keith Busch's avatar Keith Busch Committed by Matthew Wilcox

NVMe: Free admin queue on request_irq error

Fixes a potential memory leak if requesting the admin queue irq fails.
Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
Signed-off-by: default avatarMatthew Wilcox <matthew.r.wilcox@intel.com>
parent ec503733
...@@ -1054,14 +1054,19 @@ static int nvme_configure_admin_queue(struct nvme_dev *dev) ...@@ -1054,14 +1054,19 @@ static int nvme_configure_admin_queue(struct nvme_dev *dev)
} }
} }
if (result) { if (result)
nvme_free_queue_mem(nvmeq); goto free_q;
return result;
}
result = queue_request_irq(dev, nvmeq, "nvme admin"); result = queue_request_irq(dev, nvmeq, "nvme admin");
if (result)
goto free_q;
dev->queues[0] = nvmeq; dev->queues[0] = nvmeq;
return result; return result;
free_q:
nvme_free_queue_mem(nvmeq);
return result;
} }
struct nvme_iod *nvme_map_user_pages(struct nvme_dev *dev, int write, struct nvme_iod *nvme_map_user_pages(struct nvme_dev *dev, int write,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment