@@ -158,7 +158,7 @@ static int nvme_auth_process_dhchap_challenge(struct nvme_ctrl *ctrl,
158
158
159
159
if (size > CHAP_BUF_SIZE ) {
160
160
chap -> status = NVME_AUTH_DHCHAP_FAILURE_INCORRECT_PAYLOAD ;
161
- return NVME_SC_INVALID_FIELD ;
161
+ return - EINVAL ;
162
162
}
163
163
164
164
hmac_name = nvme_auth_hmac_name (data -> hashid );
@@ -167,7 +167,7 @@ static int nvme_auth_process_dhchap_challenge(struct nvme_ctrl *ctrl,
167
167
"qid %d: invalid HASH ID %d\n" ,
168
168
chap -> qid , data -> hashid );
169
169
chap -> status = NVME_AUTH_DHCHAP_FAILURE_HASH_UNUSABLE ;
170
- return NVME_SC_INVALID_FIELD ;
170
+ return - EPROTO ;
171
171
}
172
172
173
173
if (chap -> hash_id == data -> hashid && chap -> shash_tfm &&
@@ -193,7 +193,7 @@ static int nvme_auth_process_dhchap_challenge(struct nvme_ctrl *ctrl,
193
193
chap -> qid , hmac_name , PTR_ERR (chap -> shash_tfm ));
194
194
chap -> shash_tfm = NULL ;
195
195
chap -> status = NVME_AUTH_DHCHAP_FAILURE_FAILED ;
196
- return NVME_SC_AUTH_REQUIRED ;
196
+ return - ENOMEM ;
197
197
}
198
198
199
199
if (crypto_shash_digestsize (chap -> shash_tfm ) != data -> hl ) {
@@ -203,7 +203,7 @@ static int nvme_auth_process_dhchap_challenge(struct nvme_ctrl *ctrl,
203
203
crypto_free_shash (chap -> shash_tfm );
204
204
chap -> shash_tfm = NULL ;
205
205
chap -> status = NVME_AUTH_DHCHAP_FAILURE_HASH_UNUSABLE ;
206
- return NVME_SC_AUTH_REQUIRED ;
206
+ return - EPROTO ;
207
207
}
208
208
209
209
chap -> hash_id = data -> hashid ;
@@ -219,7 +219,7 @@ static int nvme_auth_process_dhchap_challenge(struct nvme_ctrl *ctrl,
219
219
chap -> qid , data -> dhgid );
220
220
chap -> status = NVME_AUTH_DHCHAP_FAILURE_DHGROUP_UNUSABLE ;
221
221
/* Leave previous dh_tfm intact */
222
- return NVME_SC_AUTH_REQUIRED ;
222
+ return - EPROTO ;
223
223
}
224
224
225
225
if (chap -> dhgroup_id == data -> dhgid &&
@@ -242,7 +242,7 @@ static int nvme_auth_process_dhchap_challenge(struct nvme_ctrl *ctrl,
242
242
"qid %d: empty DH value\n" ,
243
243
chap -> qid );
244
244
chap -> status = NVME_AUTH_DHCHAP_FAILURE_DHGROUP_UNUSABLE ;
245
- return NVME_SC_INVALID_FIELD ;
245
+ return - EPROTO ;
246
246
}
247
247
248
248
chap -> dh_tfm = crypto_alloc_kpp (kpp_name , 0 , 0 );
@@ -254,7 +254,7 @@ static int nvme_auth_process_dhchap_challenge(struct nvme_ctrl *ctrl,
254
254
chap -> qid , ret , gid_name );
255
255
chap -> status = NVME_AUTH_DHCHAP_FAILURE_DHGROUP_UNUSABLE ;
256
256
chap -> dh_tfm = NULL ;
257
- return NVME_SC_AUTH_REQUIRED ;
257
+ return - ret ;
258
258
}
259
259
dev_dbg (ctrl -> device , "qid %d: selected DH group %s\n" ,
260
260
chap -> qid , gid_name );
@@ -263,7 +263,7 @@ static int nvme_auth_process_dhchap_challenge(struct nvme_ctrl *ctrl,
263
263
"qid %d: invalid DH value for NULL DH\n" ,
264
264
chap -> qid );
265
265
chap -> status = NVME_AUTH_DHCHAP_FAILURE_INCORRECT_PAYLOAD ;
266
- return NVME_SC_INVALID_FIELD ;
266
+ return - EPROTO ;
267
267
}
268
268
chap -> dhgroup_id = data -> dhgid ;
269
269
@@ -274,7 +274,7 @@ static int nvme_auth_process_dhchap_challenge(struct nvme_ctrl *ctrl,
274
274
chap -> ctrl_key = kmalloc (dhvlen , GFP_KERNEL );
275
275
if (!chap -> ctrl_key ) {
276
276
chap -> status = NVME_AUTH_DHCHAP_FAILURE_FAILED ;
277
- return NVME_SC_AUTH_REQUIRED ;
277
+ return - ENOMEM ;
278
278
}
279
279
chap -> ctrl_key_len = dhvlen ;
280
280
memcpy (chap -> ctrl_key , data -> cval + chap -> hash_len ,
@@ -344,15 +344,15 @@ static int nvme_auth_process_dhchap_success1(struct nvme_ctrl *ctrl,
344
344
345
345
if (size > CHAP_BUF_SIZE ) {
346
346
chap -> status = NVME_AUTH_DHCHAP_FAILURE_INCORRECT_PAYLOAD ;
347
- return NVME_SC_INVALID_FIELD ;
347
+ return - EINVAL ;
348
348
}
349
349
350
350
if (data -> hl != chap -> hash_len ) {
351
351
dev_warn (ctrl -> device ,
352
352
"qid %d: invalid hash length %u\n" ,
353
353
chap -> qid , data -> hl );
354
354
chap -> status = NVME_AUTH_DHCHAP_FAILURE_HASH_UNUSABLE ;
355
- return NVME_SC_INVALID_FIELD ;
355
+ return - EPROTO ;
356
356
}
357
357
358
358
/* Just print out information for the admin queue */
@@ -376,7 +376,7 @@ static int nvme_auth_process_dhchap_success1(struct nvme_ctrl *ctrl,
376
376
"qid %d: controller authentication failed\n" ,
377
377
chap -> qid );
378
378
chap -> status = NVME_AUTH_DHCHAP_FAILURE_FAILED ;
379
- return NVME_SC_AUTH_REQUIRED ;
379
+ return - ECONNREFUSED ;
380
380
}
381
381
382
382
/* Just print out information for the admin queue */
@@ -730,7 +730,7 @@ static void nvme_queue_auth_work(struct work_struct *work)
730
730
NVME_AUTH_DHCHAP_MESSAGE_CHALLENGE );
731
731
if (ret ) {
732
732
chap -> status = ret ;
733
- chap -> error = NVME_SC_AUTH_REQUIRED ;
733
+ chap -> error = - ECONNREFUSED ;
734
734
return ;
735
735
}
736
736
@@ -798,7 +798,7 @@ static void nvme_queue_auth_work(struct work_struct *work)
798
798
NVME_AUTH_DHCHAP_MESSAGE_SUCCESS1 );
799
799
if (ret ) {
800
800
chap -> status = ret ;
801
- chap -> error = NVME_SC_AUTH_REQUIRED ;
801
+ chap -> error = - ECONNREFUSED ;
802
802
return ;
803
803
}
804
804
@@ -819,7 +819,7 @@ static void nvme_queue_auth_work(struct work_struct *work)
819
819
ret = nvme_auth_process_dhchap_success1 (ctrl , chap );
820
820
if (ret ) {
821
821
/* Controller authentication failed */
822
- chap -> error = NVME_SC_AUTH_REQUIRED ;
822
+ chap -> error = - ECONNREFUSED ;
823
823
goto fail2 ;
824
824
}
825
825
0 commit comments