summaryrefslogtreecommitdiffstats
path: root/crypto/bn/rsaz_exp_x2.c
diff options
context:
space:
mode:
authorTomas Mraz <tomas@openssl.org>2022-11-03 13:26:22 +0100
committerTomas Mraz <tomas@openssl.org>2023-01-09 08:29:19 +0100
commitf83490fb9ce4dd1c09d4f94526fbcad14bd2fd85 (patch)
treeab05091576d64e1b5d2fe83dd52e41dbdb9cf0fd /crypto/bn/rsaz_exp_x2.c
parentaccd3bdd11bd4a69fdba42bbeead28945fe50e56 (diff)
Revert "Fix an occasional CI failure due to unaligned access"
This reverts commit 8511520842b744d1794ea794c032ce5f78cd874b. Reviewed-by: Paul Dale <pauli@openssl.org> Reviewed-by: Hugo Landau <hlandau@openssl.org> (Merged from https://github.com/openssl/openssl/pull/19597)
Diffstat (limited to 'crypto/bn/rsaz_exp_x2.c')
-rw-r--r--crypto/bn/rsaz_exp_x2.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/crypto/bn/rsaz_exp_x2.c b/crypto/bn/rsaz_exp_x2.c
index e6d6e43f93..f979cebd6f 100644
--- a/crypto/bn/rsaz_exp_x2.c
+++ b/crypto/bn/rsaz_exp_x2.c
@@ -25,11 +25,11 @@ NON_EMPTY_TRANSLATION_UNIT
# include <string.h>
# if defined(__GNUC__)
-# define ALIGN1 __attribute__((aligned(1)))
+# define ALIGN64 __attribute__((aligned(64)))
# elif defined(_MSC_VER)
-# define ALIGN1 __declspec(align(1))
+# define ALIGN64 __declspec(align(64))
# else
-# define ALIGN1
+# define ALIGN64
# endif
# define ALIGN_OF(ptr, boundary) \
@@ -47,8 +47,6 @@ NON_EMPTY_TRANSLATION_UNIT
# define NUMBER_OF_REGISTERS(digits_num, register_size) \
(((digits_num) * 64 + (register_size) - 1) / (register_size))
-typedef uint64_t ALIGN1 uint64_t_align1;
-
static ossl_inline uint64_t get_digit(const uint8_t *in, int in_len);
static ossl_inline void put_digit(uint8_t *out, int out_len, uint64_t digit);
static void to_words52(BN_ULONG *out, int out_len, const BN_ULONG *in,
@@ -559,9 +557,9 @@ static void to_words52(BN_ULONG *out, int out_len,
in_str = (uint8_t *)in;
for (; in_bitsize >= (2 * DIGIT_SIZE); in_bitsize -= (2 * DIGIT_SIZE), out += 2) {
- out[0] = (*(uint64_t_align1 *)in_str) & DIGIT_MASK;
+ out[0] = (*(uint64_t *)in_str) & DIGIT_MASK;
in_str += 6;
- out[1] = ((*(uint64_t_align1 *)in_str) >> 4) & DIGIT_MASK;
+ out[1] = ((*(uint64_t *)in_str) >> 4) & DIGIT_MASK;
in_str += 7;
out_len -= 2;
}
@@ -620,9 +618,9 @@ static void from_words52(BN_ULONG *out, int out_bitsize, const BN_ULONG *in)
for (; out_bitsize >= (2 * DIGIT_SIZE);
out_bitsize -= (2 * DIGIT_SIZE), in += 2) {
- (*(uint64_t_align1 *)out_str) = in[0];
+ (*(uint64_t *)out_str) = in[0];
out_str += 6;
- (*(uint64_t_align1 *)out_str) ^= in[1] << 4;
+ (*(uint64_t *)out_str) ^= in[1] << 4;
out_str += 7;
}