Commit be2ada6d authored by Chaitanya Kulkarni's avatar Chaitanya Kulkarni Committed by Jens Axboe

nvmet-auth: fix return value check in auth receive

nvmet_auth_challenge() return type is int and currently it uses status
variable that is of type u16 in nvmet_execute_auth_receive().

Catch the return value of nvmet_auth_challenge() into int and set the
NVME_SC_INTERNAL as status variable before we jump to error.
Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarChaitanya Kulkarni <kch@nvidia.com>
Reviewed-by: default avatarSagi Grimberg <sagi@grimberg.me>
Reviewed-by: default avatarHannes Reinecke <hare@suse.de>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 1040415c
...@@ -484,8 +484,7 @@ void nvmet_execute_auth_receive(struct nvmet_req *req) ...@@ -484,8 +484,7 @@ void nvmet_execute_auth_receive(struct nvmet_req *req)
ctrl->cntlid, req->sq->qid, req->sq->dhchap_step); ctrl->cntlid, req->sq->qid, req->sq->dhchap_step);
switch (req->sq->dhchap_step) { switch (req->sq->dhchap_step) {
case NVME_AUTH_DHCHAP_MESSAGE_CHALLENGE: case NVME_AUTH_DHCHAP_MESSAGE_CHALLENGE:
status = nvmet_auth_challenge(req, d, al); if (nvmet_auth_challenge(req, d, al) < 0) {
if (status < 0) {
pr_warn("ctrl %d qid %d: challenge error (%d)\n", pr_warn("ctrl %d qid %d: challenge error (%d)\n",
ctrl->cntlid, req->sq->qid, status); ctrl->cntlid, req->sq->qid, status);
status = NVME_SC_INTERNAL; status = NVME_SC_INTERNAL;
......
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