Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fd92c77f authored by Max Gurtovoy's avatar Max Gurtovoy Committed by Jens Axboe
Browse files

nvme: check return value of init_srcu_struct function



Also add error flow in case srcu initialization function fails.

Signed-off-by: default avatarMax Gurtovoy <maxg@mellanox.com>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarKeith Busch <keith.busch@intel.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 543c09c8
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -2832,7 +2832,9 @@ static struct nvme_ns_head *nvme_alloc_ns_head(struct nvme_ctrl *ctrl,
		goto out_free_head;
	head->instance = ret;
	INIT_LIST_HEAD(&head->list);
	init_srcu_struct(&head->srcu);
	ret = init_srcu_struct(&head->srcu);
	if (ret)
		goto out_ida_remove;
	head->subsys = ctrl->subsys;
	head->ns_id = nsid;
	kref_init(&head->ref);
@@ -2854,6 +2856,7 @@ static struct nvme_ns_head *nvme_alloc_ns_head(struct nvme_ctrl *ctrl,
	return head;
out_cleanup_srcu:
	cleanup_srcu_struct(&head->srcu);
out_ida_remove:
	ida_simple_remove(&ctrl->subsys->ns_ida, head->instance);
out_free_head:
	kfree(head);