Skip to content

Commit 99c2dcc

Browse files
Chaitanya Kulkarnikeithbusch
authored andcommitted
nvme-core: fix memory leak in dhchap_ctrl_secret
Free dhchap_secret in nvme_ctrl_dhchap_ctrl_secret_store() before we return when nvme_auth_generate_key() returns error. Fixes: f50fff7 ("nvme: implement In-Band authentication") Signed-off-by: Chaitanya Kulkarni <kch@nvidia.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Keith Busch <kbusch@kernel.org>
1 parent a836ca3 commit 99c2dcc

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

drivers/nvme/host/core.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3882,16 +3882,19 @@ static ssize_t nvme_ctrl_dhchap_ctrl_secret_store(struct device *dev,
38823882
int ret;
38833883

38843884
ret = nvme_auth_generate_key(dhchap_secret, &key);
3885-
if (ret)
3885+
if (ret) {
3886+
kfree(dhchap_secret);
38863887
return ret;
3888+
}
38873889
kfree(opts->dhchap_ctrl_secret);
38883890
opts->dhchap_ctrl_secret = dhchap_secret;
38893891
ctrl_key = ctrl->ctrl_key;
38903892
mutex_lock(&ctrl->dhchap_auth_mutex);
38913893
ctrl->ctrl_key = key;
38923894
mutex_unlock(&ctrl->dhchap_auth_mutex);
38933895
nvme_auth_free_key(ctrl_key);
3894-
}
3896+
} else
3897+
kfree(dhchap_secret);
38953898
/* Start re-authentication */
38963899
dev_info(ctrl->device, "re-authenticating controller\n");
38973900
queue_work(nvme_wq, &ctrl->dhchap_auth_work);

0 commit comments

Comments
 (0)