mirror of https://github.com/openssl/openssl
Add af_alg errors to the error queue
If the kernel operation failed the EVP functions just returned without any error message. This commit adds them. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/19289)
This commit is contained in:
parent
6ca4bd2e4c
commit
bd19999b39
|
@ -355,6 +355,18 @@ static int afalg_fin_cipher_aio(afalg_aio *aio, int sfd, unsigned char *buf,
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
} else {
|
} else {
|
||||||
|
char strbuf[32];
|
||||||
|
/*
|
||||||
|
* sometimes __s64 is defined as long long int
|
||||||
|
* but on some archs ( like mips64 or powerpc64 ) it's just long int
|
||||||
|
*
|
||||||
|
* to be able to use BIO_snprintf() with %lld without warnings
|
||||||
|
* copy events[0].res to an long long int variable
|
||||||
|
*
|
||||||
|
* because long long int should always be at least 64 bit this should work
|
||||||
|
*/
|
||||||
|
long long int op_ret = events[0].res;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Retries exceed for -EBUSY or unrecoverable error
|
* Retries exceed for -EBUSY or unrecoverable error
|
||||||
* condition for this instance of operation.
|
* condition for this instance of operation.
|
||||||
|
@ -362,6 +374,17 @@ static int afalg_fin_cipher_aio(afalg_aio *aio, int sfd, unsigned char *buf,
|
||||||
ALG_WARN
|
ALG_WARN
|
||||||
("%s(%d): Crypto Operation failed with code %lld\n",
|
("%s(%d): Crypto Operation failed with code %lld\n",
|
||||||
__FILE__, __LINE__, events[0].res);
|
__FILE__, __LINE__, events[0].res);
|
||||||
|
BIO_snprintf(strbuf, sizeof(strbuf), "%lld", op_ret);
|
||||||
|
switch (events[0].res) {
|
||||||
|
case -ENOMEM:
|
||||||
|
AFALGerr(0, AFALG_R_KERNEL_OP_FAILED);
|
||||||
|
ERR_add_error_data(3, "-ENOMEM ( code ", strbuf, " )");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
AFALGerr(0, AFALG_R_KERNEL_OP_FAILED);
|
||||||
|
ERR_add_error_data(2, "code ", strbuf);
|
||||||
|
break;
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Copyright 1999-2021 The OpenSSL Project Authors. All Rights Reserved.
|
# Copyright 1999-2022 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License 2.0 (the "License"). You may not use
|
# Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||||
# this file except in compliance with the License. You can obtain a copy
|
# this file except in compliance with the License. You can obtain a copy
|
||||||
|
@ -13,6 +13,7 @@ AFALG_R_IO_SETUP_FAILED:105:io setup failed
|
||||||
AFALG_R_KERNEL_DOES_NOT_SUPPORT_AFALG:101:kernel does not support afalg
|
AFALG_R_KERNEL_DOES_NOT_SUPPORT_AFALG:101:kernel does not support afalg
|
||||||
AFALG_R_KERNEL_DOES_NOT_SUPPORT_ASYNC_AFALG:107:\
|
AFALG_R_KERNEL_DOES_NOT_SUPPORT_ASYNC_AFALG:107:\
|
||||||
kernel does not support async afalg
|
kernel does not support async afalg
|
||||||
|
AFALG_R_KERNEL_OP_FAILED:112:kernel op failed
|
||||||
AFALG_R_MEM_ALLOC_FAILED:102:mem alloc failed
|
AFALG_R_MEM_ALLOC_FAILED:102:mem alloc failed
|
||||||
AFALG_R_SOCKET_ACCEPT_FAILED:110:socket accept failed
|
AFALG_R_SOCKET_ACCEPT_FAILED:110:socket accept failed
|
||||||
AFALG_R_SOCKET_BIND_FAILED:103:socket bind failed
|
AFALG_R_SOCKET_BIND_FAILED:103:socket bind failed
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
|
@ -23,6 +23,7 @@ static ERR_STRING_DATA AFALG_str_reasons[] = {
|
||||||
"kernel does not support afalg"},
|
"kernel does not support afalg"},
|
||||||
{ERR_PACK(0, 0, AFALG_R_KERNEL_DOES_NOT_SUPPORT_ASYNC_AFALG),
|
{ERR_PACK(0, 0, AFALG_R_KERNEL_DOES_NOT_SUPPORT_ASYNC_AFALG),
|
||||||
"kernel does not support async afalg"},
|
"kernel does not support async afalg"},
|
||||||
|
{ERR_PACK(0, 0, AFALG_R_KERNEL_OP_FAILED), "kernel op failed"},
|
||||||
{ERR_PACK(0, 0, AFALG_R_MEM_ALLOC_FAILED), "mem alloc failed"},
|
{ERR_PACK(0, 0, AFALG_R_MEM_ALLOC_FAILED), "mem alloc failed"},
|
||||||
{ERR_PACK(0, 0, AFALG_R_SOCKET_ACCEPT_FAILED), "socket accept failed"},
|
{ERR_PACK(0, 0, AFALG_R_SOCKET_ACCEPT_FAILED), "socket accept failed"},
|
||||||
{ERR_PACK(0, 0, AFALG_R_SOCKET_BIND_FAILED), "socket bind failed"},
|
{ERR_PACK(0, 0, AFALG_R_SOCKET_BIND_FAILED), "socket bind failed"},
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Generated by util/mkerr.pl DO NOT EDIT
|
* Generated by util/mkerr.pl DO NOT EDIT
|
||||||
* Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
|
* Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||||
* this file except in compliance with the License. You can obtain a copy
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
|
@ -28,6 +28,7 @@
|
||||||
# define AFALG_R_IO_SETUP_FAILED 105
|
# define AFALG_R_IO_SETUP_FAILED 105
|
||||||
# define AFALG_R_KERNEL_DOES_NOT_SUPPORT_AFALG 101
|
# define AFALG_R_KERNEL_DOES_NOT_SUPPORT_AFALG 101
|
||||||
# define AFALG_R_KERNEL_DOES_NOT_SUPPORT_ASYNC_AFALG 107
|
# define AFALG_R_KERNEL_DOES_NOT_SUPPORT_ASYNC_AFALG 107
|
||||||
|
# define AFALG_R_KERNEL_OP_FAILED 112
|
||||||
# define AFALG_R_MEM_ALLOC_FAILED 102
|
# define AFALG_R_MEM_ALLOC_FAILED 102
|
||||||
# define AFALG_R_SOCKET_ACCEPT_FAILED 110
|
# define AFALG_R_SOCKET_ACCEPT_FAILED 110
|
||||||
# define AFALG_R_SOCKET_BIND_FAILED 103
|
# define AFALG_R_SOCKET_BIND_FAILED 103
|
||||||
|
|
Loading…
Reference in New Issue