[v2,2/2] nvme-auth: set explanation code for failure2 msgs

Message ID 20230731145106.917526-2-shiftee@posteo.net
State New
Headers
Series [v2,1/2] nvme-auth: unlock mutex in one place only |

Commit Message

Mark O'Donovan July 31, 2023, 2:51 p.m. UTC
  Some error cases were not setting an auth-failure-reason-code-explanation.
This means an AUTH_Failure2 message will be sent with an explanation value
of 0 which is a reserved value.

Signed-off-by: Mark O'Donovan <shiftee@posteo.net>
---
v1->v2: Set failure explanation in a single place if the error handling
code has not already done so.

 drivers/nvme/host/auth.c | 2 ++
 1 file changed, 2 insertions(+)
  

Comments

Hannes Reinecke July 31, 2023, 4:38 p.m. UTC | #1
On 7/31/23 16:51, Mark O'Donovan wrote:
> Some error cases were not setting an auth-failure-reason-code-explanation.
> This means an AUTH_Failure2 message will be sent with an explanation value
> of 0 which is a reserved value.
> 
> Signed-off-by: Mark O'Donovan <shiftee@posteo.net>
> ---
> v1->v2: Set failure explanation in a single place if the error handling
> code has not already done so.
> 
>   drivers/nvme/host/auth.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/nvme/host/auth.c b/drivers/nvme/host/auth.c
> index e1a98647c3a2..9556cfc4f5f3 100644
> --- a/drivers/nvme/host/auth.c
> +++ b/drivers/nvme/host/auth.c
> @@ -839,6 +839,8 @@ static void nvme_queue_auth_work(struct work_struct *work)
>   	}
>   
>   fail2:
> +	if (chap->status == 0)
> +		chap->status = NVME_AUTH_DHCHAP_FAILURE_FAILED;
>   	dev_dbg(ctrl->device, "%s: qid %d send failure2, status %x\n",
>   		__func__, chap->qid, chap->status);
>   	tl = nvme_auth_set_dhchap_failure2_data(ctrl, chap);

Reviewed-by: Hannes Reinecke <hare@suse.de>

Cheers,

Hannes
  

Patch

diff --git a/drivers/nvme/host/auth.c b/drivers/nvme/host/auth.c
index e1a98647c3a2..9556cfc4f5f3 100644
--- a/drivers/nvme/host/auth.c
+++ b/drivers/nvme/host/auth.c
@@ -839,6 +839,8 @@  static void nvme_queue_auth_work(struct work_struct *work)
 	}
 
 fail2:
+	if (chap->status == 0)
+		chap->status = NVME_AUTH_DHCHAP_FAILURE_FAILED;
 	dev_dbg(ctrl->device, "%s: qid %d send failure2, status %x\n",
 		__func__, chap->qid, chap->status);
 	tl = nvme_auth_set_dhchap_failure2_data(ctrl, chap);