diff options
Diffstat (limited to 'lib/accelerated/cryptodev.c')
-rw-r--r-- | lib/accelerated/cryptodev.c | 127 |
1 files changed, 61 insertions, 66 deletions
diff --git a/lib/accelerated/cryptodev.c b/lib/accelerated/cryptodev.c index 0a60ab241d..beb148f9c4 100644 --- a/lib/accelerated/cryptodev.c +++ b/lib/accelerated/cryptodev.c @@ -28,18 +28,18 @@ #ifdef ENABLE_CRYPTODEV -# include <assert.h> -# include <fcntl.h> -# include <sys/ioctl.h> -# include <crypto/cryptodev.h> +#include <assert.h> +#include <fcntl.h> +#include <sys/ioctl.h> +#include <crypto/cryptodev.h> -# ifndef CRYPTO_CIPHER_MAX_KEY_LEN -# define CRYPTO_CIPHER_MAX_KEY_LEN 64 -# endif +#ifndef CRYPTO_CIPHER_MAX_KEY_LEN +#define CRYPTO_CIPHER_MAX_KEY_LEN 64 +#endif -# ifndef EALG_MAX_BLOCK_LEN -# define EALG_MAX_BLOCK_LEN 16 -# endif +#ifndef EALG_MAX_BLOCK_LEN +#define EALG_MAX_BLOCK_LEN 16 +#endif int _gnutls_cryptodev_fd = -1; @@ -64,8 +64,8 @@ static const int gnutls_cipher_map[] = { [GNUTLS_CIPHER_DES_CBC] = CRYPTO_DES_CBC, }; -static int -cryptodev_cipher_init(gnutls_cipher_algorithm_t algorithm, void **_ctx, int enc) +static int cryptodev_cipher_init(gnutls_cipher_algorithm_t algorithm, + void **_ctx, int enc) { struct cryptodev_ctx *ctx; int cipher = gnutls_cipher_map[algorithm]; @@ -115,9 +115,8 @@ static int cryptodev_setiv(void *_ctx, const void *iv, size_t iv_size) return 0; } -static int -cryptodev_encrypt(void *_ctx, const void *src, size_t src_size, - void *dst, size_t dst_size) +static int cryptodev_encrypt(void *_ctx, const void *src, size_t src_size, + void *dst, size_t dst_size) { struct cryptodev_ctx *ctx = _ctx; ctx->cryp.len = src_size; @@ -139,9 +138,8 @@ cryptodev_encrypt(void *_ctx, const void *src, size_t src_size, return 0; } -static int -cryptodev_decrypt(void *_ctx, const void *src, size_t src_size, - void *dst, size_t dst_size) +static int cryptodev_decrypt(void *_ctx, const void *src, size_t src_size, + void *dst, size_t dst_size) { struct cryptodev_ctx *ctx = _ctx; @@ -187,9 +185,9 @@ static int register_crypto(int cfd) uint8_t fake_key[CRYPTO_CIPHER_MAX_KEY_LEN]; unsigned int i; int ret; -# ifdef CIOCGSESSINFO +#ifdef CIOCGSESSINFO struct session_info_op siop; -# endif +#endif memset(&sess, 0, sizeof(sess)); @@ -207,37 +205,36 @@ static int register_crypto(int cfd) if (ioctl(cfd, CIOCGSESSION, &sess)) { continue; } -# ifdef CIOCGSESSINFO +#ifdef CIOCGSESSINFO memset(&siop, 0, sizeof(siop)); - siop.ses = sess.ses; /* do not register ciphers that are not hw accelerated */ + siop.ses = + sess.ses; /* do not register ciphers that are not hw accelerated */ if (ioctl(cfd, CIOCGSESSINFO, &siop) == 0) { if (!(siop.flags & SIOP_FLAG_KERNEL_DRIVER_ONLY)) { ioctl(cfd, CIOCFSESSION, &sess.ses); continue; } } -# endif +#endif ioctl(cfd, CIOCFSESSION, &sess.ses); _gnutls_debug_log("/dev/crypto: registering: %s\n", gnutls_cipher_get_name(i)); - ret = - gnutls_crypto_single_cipher_register(i, 90, - &cipher_struct, 0); + ret = gnutls_crypto_single_cipher_register(i, 90, + &cipher_struct, 0); if (ret < 0) { gnutls_assert(); return ret; } - } -# ifdef CIOCAUTHCRYPT +#ifdef CIOCAUTHCRYPT return _cryptodev_register_gcm_crypto(cfd); -# else +#else return 0; -# endif +#endif } int _gnutls_cryptodev_init(void) @@ -250,7 +247,7 @@ int _gnutls_cryptodev_init(void) gnutls_assert(); return GNUTLS_E_CRYPTODEV_DEVICE_ERROR; } -# ifndef CRIOGET_NOT_NEEDED +#ifndef CRIOGET_NOT_NEEDED { int cfd = -1; /* Clone file descriptor */ @@ -268,7 +265,7 @@ int _gnutls_cryptodev_init(void) close(_gnutls_cryptodev_fd); _gnutls_cryptodev_fd = cfd; } -# endif +#endif ret = register_crypto(_gnutls_cryptodev_fd); if (ret < 0) @@ -298,7 +295,7 @@ void _gnutls_cryptodev_deinit(void) /* if we are using linux /dev/crypto */ -# if defined(COP_FLAG_UPDATE) && defined(COP_FLAG_RESET) +#if defined(COP_FLAG_UPDATE) && defined(COP_FLAG_RESET) static const int gnutls_mac_map[] = { [GNUTLS_MAC_MD5] = CRYPTO_MD5_HMAC, @@ -308,11 +305,10 @@ static const int gnutls_mac_map[] = { [GNUTLS_MAC_SHA512] = CRYPTO_SHA2_512_HMAC, }; -static int -cryptodev_mac_fast(gnutls_mac_algorithm_t algo, - const void *nonce, size_t nonce_size, - const void *key, size_t key_size, const void *text, - size_t text_size, void *digest) +static int cryptodev_mac_fast(gnutls_mac_algorithm_t algo, const void *nonce, + size_t nonce_size, const void *key, + size_t key_size, const void *text, + size_t text_size, void *digest) { struct cryptodev_ctx ctx; int ret; @@ -346,17 +342,15 @@ cryptodev_mac_fast(gnutls_mac_algorithm_t algo, return 0; } -# define cryptodev_mac_deinit cryptodev_deinit +#define cryptodev_mac_deinit cryptodev_deinit -static const gnutls_crypto_mac_st mac_struct = { - .init = NULL, - .setkey = NULL, - .setnonce = NULL, - .hash = NULL, - .output = NULL, - .deinit = NULL, - .fast = cryptodev_mac_fast -}; +static const gnutls_crypto_mac_st mac_struct = { .init = NULL, + .setkey = NULL, + .setnonce = NULL, + .hash = NULL, + .output = NULL, + .deinit = NULL, + .fast = cryptodev_mac_fast }; /* Digest algorithms */ @@ -368,9 +362,9 @@ static const int gnutls_digest_map[] = { [GNUTLS_DIG_SHA512] = CRYPTO_SHA2_512, }; -static int -cryptodev_digest_fast(gnutls_digest_algorithm_t algo, - const void *text, size_t text_size, void *digest) +static int cryptodev_digest_fast(gnutls_digest_algorithm_t algo, + const void *text, size_t text_size, + void *digest) { struct cryptodev_ctx ctx; int ret; @@ -413,12 +407,13 @@ static int register_mac_digest(int cfd) uint8_t fake_key[CRYPTO_CIPHER_MAX_KEY_LEN]; unsigned int i; int ret; -# ifdef CIOCGSESSINFO +#ifdef CIOCGSESSINFO struct session_info_op siop; -# endif +#endif memset(&sess, 0, sizeof(sess)); - for (i = 0; i < sizeof(gnutls_mac_map) / sizeof(gnutls_mac_map[0]); i++) { + for (i = 0; i < sizeof(gnutls_mac_map) / sizeof(gnutls_mac_map[0]); + i++) { if (gnutls_mac_map[i] == 0) continue; @@ -429,17 +424,18 @@ static int register_mac_digest(int cfd) if (ioctl(cfd, CIOCGSESSION, &sess)) { continue; } -# ifdef CIOCGSESSINFO +#ifdef CIOCGSESSINFO memset(&siop, 0, sizeof(siop)); - siop.ses = sess.ses; /* do not register ciphers that are not hw accelerated */ + siop.ses = + sess.ses; /* do not register ciphers that are not hw accelerated */ if (ioctl(cfd, CIOCGSESSINFO, &siop) == 0) { if (!(siop.flags & SIOP_FLAG_KERNEL_DRIVER_ONLY)) { ioctl(cfd, CIOCFSESSION, &sess.ses); continue; } } -# endif +#endif _gnutls_debug_log("/dev/crypto: registering: HMAC-%s\n", gnutls_mac_get_name(i)); @@ -464,7 +460,7 @@ static int register_mac_digest(int cfd) if (ioctl(cfd, CIOCGSESSION, &sess)) { continue; } -# ifdef CIOCGSESSINFO +#ifdef CIOCGSESSINFO memset(&siop, 0, sizeof(siop)); siop.ses = sess.ses; @@ -474,15 +470,14 @@ static int register_mac_digest(int cfd) continue; } } -# endif +#endif ioctl(cfd, CIOCFSESSION, &sess.ses); _gnutls_debug_log("/dev/crypto: registering: %s\n", gnutls_mac_get_name(i)); - ret = - gnutls_crypto_single_digest_register(i, 90, - &digest_struct, 0); + ret = gnutls_crypto_single_digest_register(i, 90, + &digest_struct, 0); if (ret < 0) { gnutls_assert(); return ret; @@ -492,15 +487,15 @@ static int register_mac_digest(int cfd) return 0; } -# else +#else static int register_mac_digest(int cfd) { return 0; } -# endif /* defined(COP_FLAG_UPDATE) */ +#endif /* defined(COP_FLAG_UPDATE) */ -#else /* ENABLE_CRYPTODEV */ +#else /* ENABLE_CRYPTODEV */ int _gnutls_cryptodev_init(void) { return 0; @@ -510,4 +505,4 @@ void _gnutls_cryptodev_deinit(void) { return; } -#endif /* ENABLE_CRYPTODEV */ +#endif /* ENABLE_CRYPTODEV */ |