diff options
Diffstat (limited to 'extra/gnutls')
-rw-r--r-- | extra/gnutls/align.patch | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/extra/gnutls/align.patch b/extra/gnutls/align.patch deleted file mode 100644 index dce5cf408..000000000 --- a/extra/gnutls/align.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff --git a/lib/accelerated/intel/aes-x86.c b/lib/accelerated/intel/aes-x86.c -index 6801e7e..ff5b714 100644 ---- a/lib/accelerated/intel/aes-x86.c -+++ b/lib/accelerated/intel/aes-x86.c -@@ -40,6 +40,10 @@ struct aes_ctx - uint8_t iv[16]; - }; - -+#define AESNI_MIN_ALIGN 16 -+#define AESNI_ALIGN(x) \ -+ ((void *)(((size_t)(x)+AESNI_MIN_ALIGN-1)&~(AESNI_MIN_ALIGN-1))) -+ - static int - aes_cipher_init (gnutls_cipher_algorithm_t algorithm, void **_ctx) - { -@@ -69,11 +73,11 @@ aes_cipher_setkey (void *_ctx, const void *userkey, size_t keysize) - struct aes_ctx *ctx = _ctx; - int ret; - -- ret = aesni_set_encrypt_key (userkey, keysize * 8, &ctx->expanded_key); -+ ret = aesni_set_encrypt_key (userkey, keysize * 8, AESNI_ALIGN(&ctx->expanded_key)); - if (ret != 0) - return gnutls_assert_val (GNUTLS_E_ENCRYPTION_FAILED); - -- ret = aesni_set_decrypt_key (userkey, keysize * 8, &ctx->expanded_key_dec); -+ ret = aesni_set_decrypt_key (userkey, keysize * 8, AESNI_ALIGN(&ctx->expanded_key_dec)); - if (ret != 0) - return gnutls_assert_val (GNUTLS_E_ENCRYPTION_FAILED); - -@@ -95,7 +99,7 @@ aes_encrypt (void *_ctx, const void *src, size_t src_size, - { - struct aes_ctx *ctx = _ctx; - -- aesni_cbc_encrypt (src, dst, src_size, &ctx->expanded_key, ctx->iv, 1); -+ aesni_cbc_encrypt (src, dst, src_size, AESNI_ALIGN(&ctx->expanded_key), ctx->iv, 1); - return 0; - } - -@@ -105,7 +109,7 @@ aes_decrypt (void *_ctx, const void *src, size_t src_size, - { - struct aes_ctx *ctx = _ctx; - -- aesni_cbc_encrypt (src, dst, src_size, &ctx->expanded_key_dec, ctx->iv, 0); -+ aesni_cbc_encrypt (src, dst, src_size, AESNI_ALIGN(&ctx->expanded_key_dec), ctx->iv, 0); - - return 0; - } -diff --git a/lib/accelerated/intel/aes-x86.h b/lib/accelerated/intel/aes-x86.h -index 8f49ff3..20a169e 100644 ---- a/lib/accelerated/intel/aes-x86.h -+++ b/lib/accelerated/intel/aes-x86.h -@@ -11,10 +11,11 @@ void register_x86_crypto (void); - # define ALIGN16 - #endif - -+#define AES_KEY_ALIGN_SIZE 8 - #define AES_MAXNR 14 - typedef struct - { -- uint32_t ALIGN16 rd_key[4 * (AES_MAXNR + 1)]; -+ uint32_t rd_key[4 * (AES_MAXNR + 1)+AES_KEY_ALIGN_SIZE]; - int rounds; - } AES_KEY; - |